magick-ui 0.2.1 → 0.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../schema/component-schema.json","../src/schema.ts","../src/ui/Accordion/index.tsx","../src/utils.ts","../src/ui/Alert/index.tsx","../src/ui/Avatar/index.tsx","../src/ui/Tooltip/index.tsx","../src/ui/Text/index.tsx","../src/ui/AvatarListItem/index.tsx","../src/ui/Badge/index.tsx","../src/ui/IconContainer/index.tsx","../src/ui/Breadcrumb/index.tsx","../src/ui/Dropdown/index.tsx","../src/ui/Button/index.tsx","../src/ui/Button/ToolButton.tsx","../src/ui/ButtonLink/index.tsx","../src/ui/ButtonWithTooltip/index.tsx","../src/ui/Calendar/index.tsx","../src/ui/Card/index.tsx","../src/ui/Carousel/index.tsx","../src/ui/Checkbox/index.tsx","../src/ui/Label/index.tsx","../src/ui/Chip/index.tsx","../src/ui/Combobox/index.tsx","../src/ui/Popover/index.tsx","../src/ui/ContextMenu/index.tsx","../src/ui/DatePickerInput/index.tsx","../src/ui/FileInput/index.tsx","../src/ui/IconButton/index.tsx","../src/ui/ProgressIndicator/index.tsx","../src/ui/FileUpload/index.tsx","../src/ui/GradientContainer/index.tsx","../src/ui/Grid/index.tsx","../src/ui/IconProfile/index.tsx","../src/ui/Input/index.tsx","../src/ui/LinkButton/index.tsx","../src/ui/Media/index.tsx","../src/ui/MultiSelect/index.tsx","../src/ui/OTPInput/index.tsx","../src/ui/PasswordInput/index.tsx","../src/ui/Radio/index.tsx","../src/ui/SearchInput/index.tsx","../src/ui/SelectHover/index.tsx","../src/ui/SelectInput/index.tsx","../src/ui/Sheet/index.tsx","../src/ui/Skeleton/index.tsx","../src/ui/Slider/index.tsx","../src/ui/Sooner/index.tsx","../src/ui/Switch/index.tsx","../src/ui/Table/index.tsx","../src/ui/Tabs/index.tsx","../src/ui/Tag/index.tsx","../src/ui/TextAreaInput/index.tsx","../src/ui/TimePicker/index.tsx","../src/ui/Title/index.tsx","../src/ui/Toggle/index.tsx","../src/ui/ToggleDropdownButton/index.tsx","../src/ui/ToggleDropdownButton/ToggleDropdownLeftButton.tsx","../src/ui/ToggleDropdownButton/ToggleDropdownRightButton.tsx","../src/ui/ToggleDropdownButton/useToggleDropdown.ts","../src/ui/ToolToggle/index.tsx","../src/ui/WrapperCard/index.tsx","../src/ui/form/Base.tsx","../src/ui/form/FormField.tsx","../src/ui/form/Form.tsx","../src/design-tokens/design-tokens.ts"],"sourcesContent":["// Types\nexport type { UINode, ComponentSchema } from \"./types\";\n\n// Schema\nexport { componentSchema, getComponentSchemas } from \"./schema\";\n\n// UI Components\nexport * from \"./ui\";\n\n// Utils\nexport { cn, getInitials, getFirstName, truncateFileNameMid, getFileSize, getPaginationItems } from \"./utils\";\n\n// Design Tokens\nexport { designTokens, getTokenValue, getTokenValueWithFallback } from \"./design-tokens/design-tokens\";\nexport type { DesignTokens } from \"./design-tokens/design-tokens\";\n","{\n \"$schema\": \"Generative UI Component Schema\",\n \"description\": \"Auto-generated from Zod schemas. Available UI components for composing chat UI. Each node has: type (string), props (object), children (array of nodes, optional).\",\n \"components\": {\n \"button\": {\n \"$ref\": \"#/definitions/button\",\n \"definitions\": {\n \"button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Button text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"outline\",\n \"destructive\",\n \"ghost\",\n \"soft\"\n ],\n \"description\": \"Button style. Defaults to 'primary'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"sm\",\n \"md\",\n \"lg\"\n ],\n \"description\": \"Button size. Defaults to 'md'\"\n },\n \"url\": {\n \"type\": \"string\",\n \"description\": \"URL to open when clicked\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the button is disabled\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An action button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card\": {\n \"$ref\": \"#/definitions/card\",\n \"definitions\": {\n \"card\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with card-header, card-content, card-footer\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Container card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-header\": {\n \"$ref\": \"#/definitions/card-header\",\n \"definitions\": {\n \"card-header\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-header\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Place card-title and card-description inside\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Header section of a card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-title\": {\n \"$ref\": \"#/definitions/card-title\",\n \"definitions\": {\n \"card-title\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-title\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Title text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Title inside a card-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-description\": {\n \"$ref\": \"#/definitions/card-description\",\n \"definitions\": {\n \"card-description\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-description\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Description text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Description text inside a card-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-content\": {\n \"$ref\": \"#/definitions/card-content\",\n \"definitions\": {\n \"card-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Main content area\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Main content area of a card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-footer\": {\n \"$ref\": \"#/definitions/card-footer\",\n \"definitions\": {\n \"card-footer\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-footer\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Footer area, typically for actions\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Footer section of a card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"form\": {\n \"$ref\": \"#/definitions/form\",\n \"definitions\": {\n \"form\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"form\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"Unique form ID\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Form field components\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A form container. Wrap form fields inside.\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"input-field\": {\n \"$ref\": \"#/definitions/input-field\",\n \"definitions\": {\n \"input-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"input-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name (maps to form data key)\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text above the input\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"description\": \"Placeholder text\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"text\",\n \"email\",\n \"number\",\n \"url\",\n \"search\",\n \"tel\"\n ],\n \"description\": \"Input type. Defaults to 'text'\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the field is required\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A text input field inside a form\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"password-field\": {\n \"$ref\": \"#/definitions/password-field\",\n \"definitions\": {\n \"password-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"password-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A password input field with show/hide toggle\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"textarea-field\": {\n \"$ref\": \"#/definitions/textarea-field\",\n \"definitions\": {\n \"textarea-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"textarea-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"rows\": {\n \"type\": \"number\",\n \"description\": \"Number of visible rows\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A multi-line text input field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"select-field\": {\n \"$ref\": \"#/definitions/select-field\",\n \"definitions\": {\n \"select-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"select-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of selectable options\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A dropdown select field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"checkbox-field\": {\n \"$ref\": \"#/definitions/checkbox-field\",\n \"definitions\": {\n \"checkbox-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"checkbox-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Checkbox label text\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A checkbox field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"radio-field\": {\n \"$ref\": \"#/definitions/radio-field\",\n \"definitions\": {\n \"radio-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"radio-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Group label\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Option label\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of radio options\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A radio button group field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"switch-field\": {\n \"$ref\": \"#/definitions/switch-field\",\n \"definitions\": {\n \"switch-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"switch-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Switch label\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A toggle switch field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"date-field\": {\n \"$ref\": \"#/definitions/date-field\",\n \"definitions\": {\n \"date-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"date-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"disablePast\": {\n \"type\": \"boolean\",\n \"description\": \"Disable past dates\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A date picker field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"time-field\": {\n \"$ref\": \"#/definitions/time-field\",\n \"definitions\": {\n \"time-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"time-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A time picker field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"combobox-field\": {\n \"$ref\": \"#/definitions/combobox-field\",\n \"definitions\": {\n \"combobox-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"combobox-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of searchable options\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A searchable combobox/autocomplete field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"multi-select-field\": {\n \"$ref\": \"#/definitions/multi-select-field\",\n \"definitions\": {\n \"multi-select-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"multi-select-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of options for multi-selection\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A multi-select dropdown field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"otp-field\": {\n \"$ref\": \"#/definitions/otp-field\",\n \"definitions\": {\n \"otp-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"otp-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"maxLength\": {\n \"type\": \"number\",\n \"description\": \"Number of OTP digits. Defaults to 6\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An OTP (one-time password) input field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"file-upload-field\": {\n \"$ref\": \"#/definitions/file-upload-field\",\n \"definitions\": {\n \"file-upload-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"file-upload-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"isMultiple\": {\n \"type\": \"boolean\",\n \"description\": \"Allow multiple files\"\n },\n \"maxFiles\": {\n \"type\": \"number\",\n \"description\": \"Maximum number of files\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A file upload field with drag-and-drop\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"text\": {\n \"$ref\": \"#/definitions/text\",\n \"definitions\": {\n \"text\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"text\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Text content\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A paragraph of text\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"title\": {\n \"$ref\": \"#/definitions/title\",\n \"definitions\": {\n \"title\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"title\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Heading text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A heading / title element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"label\": {\n \"$ref\": \"#/definitions/label\",\n \"definitions\": {\n \"label\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"label\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"htmlFor\": {\n \"type\": \"string\",\n \"description\": \"ID of the form element this label is for\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A form label element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"badge\": {\n \"$ref\": \"#/definitions/badge\",\n \"definitions\": {\n \"badge\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"badge\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Badge text\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary-hard\",\n \"primary-soft\",\n \"destructive-hard\",\n \"destructive-soft\",\n \"secondary-hard\",\n \"secondary-soft\"\n ],\n \"description\": \"Badge style. Defaults to 'primary-hard'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"sm\",\n \"md\"\n ],\n \"description\": \"Badge size. Defaults to 'sm'\"\n },\n \"rounded\": {\n \"type\": \"boolean\",\n \"description\": \"Fully rounded pill shape\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A small status badge / label\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tag\": {\n \"$ref\": \"#/definitions/tag\",\n \"definitions\": {\n \"tag\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tag\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Tag text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"destructive\"\n ],\n \"description\": \"Tag color variant. Defaults to 'primary'\"\n }\n },\n \"required\": [\n \"label\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A colored tag / pill\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"chip\": {\n \"$ref\": \"#/definitions/chip\",\n \"definitions\": {\n \"chip\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"chip\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Chip text\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"rounded\",\n \"rectangle\"\n ],\n \"description\": \"Chip shape. Defaults to 'rounded'\"\n },\n \"color\": {\n \"type\": \"string\",\n \"enum\": [\n \"slate\",\n \"red\",\n \"orange\",\n \"amber\",\n \"yellow\",\n \"lime\",\n \"green\",\n \"emerald\",\n \"teal\",\n \"cyan\",\n \"sky\",\n \"blue\",\n \"indigo\",\n \"violet\",\n \"purple\",\n \"fuchsia\",\n \"pink\",\n \"rose\"\n ],\n \"description\": \"Chip color. Defaults to 'slate'\"\n },\n \"dot\": {\n \"type\": \"boolean\",\n \"description\": \"Show a colored dot indicator\"\n },\n \"avatar\": {\n \"type\": \"string\",\n \"description\": \"Avatar image URL shown inside the chip\"\n }\n },\n \"required\": [\n \"label\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A compact chip element with optional color dot or avatar\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"alert\": {\n \"$ref\": \"#/definitions/alert\",\n \"definitions\": {\n \"alert\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"alert\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"default\",\n \"secondary\",\n \"destructive\"\n ],\n \"description\": \"Alert style. Defaults to 'default'\"\n },\n \"title\": {\n \"type\": \"string\",\n \"description\": \"Alert heading\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Alert body text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An alert / notice banner\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"skeleton\": {\n \"$ref\": \"#/definitions/skeleton\",\n \"definitions\": {\n \"skeleton\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"skeleton\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"className\": {\n \"type\": \"string\",\n \"description\": \"Tailwind classes to control width/height, e.g. 'h-4 w-[250px]'\"\n }\n },\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A loading placeholder skeleton\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"progress-indicator\": {\n \"$ref\": \"#/definitions/progress-indicator\",\n \"definitions\": {\n \"progress-indicator\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"progress-indicator\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"number\",\n \"description\": \"Current progress value\"\n },\n \"max\": {\n \"type\": \"number\",\n \"description\": \"Maximum value. Defaults to 100\"\n },\n \"showPercentage\": {\n \"type\": \"boolean\",\n \"description\": \"Show percentage text. Defaults to true\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"bar\",\n \"circle\"\n ],\n \"description\": \"Display style. Defaults to 'bar'\"\n }\n },\n \"required\": [\n \"value\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A progress bar or circular progress indicator\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"avatar\": {\n \"$ref\": \"#/definitions/avatar\",\n \"definitions\": {\n \"avatar\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"avatar\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"image\",\n \"text\",\n \"placeholder\"\n ],\n \"description\": \"Avatar display mode\"\n },\n \"fallback\": {\n \"type\": \"string\",\n \"description\": \"Fallback text (initials) when image is unavailable\"\n },\n \"imgsrc\": {\n \"type\": \"string\",\n \"description\": \"Image URL (required when variant is 'image')\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n \"5xl\"\n ],\n \"description\": \"Avatar size. Defaults to 'md'\"\n },\n \"status\": {\n \"type\": \"string\",\n \"enum\": [\n \"active\",\n \"inactive\"\n ],\n \"description\": \"Online status indicator\"\n }\n },\n \"required\": [\n \"variant\",\n \"fallback\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A user avatar displaying an image, initials, or placeholder\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"avatar-list-item\": {\n \"$ref\": \"#/definitions/avatar-list-item\",\n \"definitions\": {\n \"avatar-list-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"avatar-list-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"avatar\": {\n \"type\": \"string\",\n \"description\": \"Avatar image URL\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Display name\"\n },\n \"email\": {\n \"type\": \"string\",\n \"description\": \"Email address\"\n },\n \"isMe\": {\n \"type\": \"boolean\",\n \"description\": \"Highlight as current user\"\n }\n },\n \"required\": [\n \"avatar\",\n \"name\",\n \"email\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An avatar with name and email, typically used in lists\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"media\": {\n \"$ref\": \"#/definitions/media\",\n \"definitions\": {\n \"media\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"media\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"src\": {\n \"type\": \"string\",\n \"description\": \"Media source URL\"\n },\n \"alt\": {\n \"type\": \"string\",\n \"description\": \"Alt text for images\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"image\",\n \"video\"\n ],\n \"description\": \"Media type. Defaults to 'image'\"\n },\n \"aspectRatio\": {\n \"type\": \"string\",\n \"enum\": [\n \"1:1\",\n \"16:9\",\n \"9:16\",\n \"4:3\",\n \"3:4\"\n ],\n \"description\": \"Fixed aspect ratio\"\n },\n \"objectFit\": {\n \"type\": \"string\",\n \"enum\": [\n \"cover\",\n \"contain\",\n \"fill\",\n \"scale-down\",\n \"none\"\n ],\n \"description\": \"How the media fills its container. Defaults to 'cover'\"\n },\n \"rounded\": {\n \"type\": \"string\",\n \"enum\": [\n \"none\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"full\"\n ],\n \"description\": \"Border radius\"\n },\n \"loading\": {\n \"type\": \"string\",\n \"enum\": [\n \"lazy\",\n \"eager\"\n ],\n \"description\": \"Loading strategy. Defaults to 'lazy'\"\n }\n },\n \"required\": [\n \"src\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An image or video media element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"grid\": {\n \"$ref\": \"#/definitions/grid\",\n \"definitions\": {\n \"grid\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"grid\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"className\": {\n \"type\": \"string\",\n \"description\": \"Tailwind grid classes, e.g. 'grid-cols-2 gap-4'\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Grid items\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A CSS grid layout container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion\": {\n \"$ref\": \"#/definitions/accordion\",\n \"definitions\": {\n \"accordion\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"single\",\n \"multiple\"\n ],\n \"description\": \"Allow one or multiple items open. Defaults to 'single'\"\n },\n \"collapsible\": {\n \"type\": \"boolean\",\n \"description\": \"Allow collapsing all items\"\n },\n \"defaultValue\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ],\n \"description\": \"Initially open item value(s)\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with accordion-item children\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A collapsible accordion container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion-item\": {\n \"$ref\": \"#/definitions/accordion-item\",\n \"definitions\": {\n \"accordion-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Unique item identifier\"\n }\n },\n \"required\": [\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Place accordion-trigger and accordion-content inside\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single accordion section\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion-trigger\": {\n \"$ref\": \"#/definitions/accordion-trigger\",\n \"definitions\": {\n \"accordion-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Trigger label text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Clickable header that toggles an accordion-item\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion-content\": {\n \"$ref\": \"#/definitions/accordion-content\",\n \"definitions\": {\n \"accordion-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Content revealed when the item is open\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Collapsible content area of an accordion-item\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tabs\": {\n \"$ref\": \"#/definitions/tabs\",\n \"definitions\": {\n \"tabs\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tabs\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"defaultActiveTab\": {\n \"type\": \"string\",\n \"description\": \"Value of the initially active tab\"\n },\n \"tabs\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Unique tab identifier\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Tab label text\"\n },\n \"count\": {\n \"type\": \"number\",\n \"description\": \"Badge count on the tab\"\n },\n \"notification\": {\n \"type\": \"boolean\",\n \"description\": \"Show notification dot\"\n }\n },\n \"required\": [\n \"value\",\n \"label\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Tab definitions\"\n },\n \"tabSmall\": {\n \"type\": \"boolean\",\n \"description\": \"Use compact tab styling\"\n },\n \"showContent\": {\n \"type\": \"boolean\",\n \"description\": \"Show tab content panels. Defaults to true\"\n }\n },\n \"required\": [\n \"defaultActiveTab\",\n \"tabs\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Tab content panels (one per tab, in order)\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A tabbed interface with switchable content panels\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"wrapper-card\": {\n \"$ref\": \"#/definitions/wrapper-card\",\n \"definitions\": {\n \"wrapper-card\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"wrapper-card\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Card body content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A simple card wrapper with default padding and border\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"gradient-container\": {\n \"$ref\": \"#/definitions/gradient-container\",\n \"definitions\": {\n \"gradient-container\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"gradient-container\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Content inside the gradient container\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A container with a gradient background\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"carousel\": {\n \"$ref\": \"#/definitions/carousel\",\n \"definitions\": {\n \"carousel\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"carousel\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"orientation\": {\n \"type\": \"string\",\n \"enum\": [\n \"horizontal\",\n \"vertical\"\n ],\n \"description\": \"Scroll direction. Defaults to 'horizontal'\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Place a carousel-content inside\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A scrollable carousel container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"carousel-content\": {\n \"$ref\": \"#/definitions/carousel-content\",\n \"definitions\": {\n \"carousel-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"carousel-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with carousel-item children\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content track of a carousel\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"carousel-item\": {\n \"$ref\": \"#/definitions/carousel-item\",\n \"definitions\": {\n \"carousel-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"carousel-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Content for this slide\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single slide inside a carousel\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"toggle\": {\n \"$ref\": \"#/definitions/toggle\",\n \"definitions\": {\n \"toggle\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"toggle\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"active\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the toggle is pressed\"\n },\n \"shape\": {\n \"type\": \"string\",\n \"enum\": [\n \"rectangle\",\n \"rounded\"\n ],\n \"description\": \"Toggle shape. Defaults to 'rectangle'\"\n },\n \"style\": {\n \"type\": \"string\",\n \"enum\": [\n \"ghost\",\n \"outline\",\n \"soft\"\n ],\n \"description\": \"Visual style. Defaults to 'soft'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"sm\",\n \"md\",\n \"lg\"\n ],\n \"description\": \"Toggle size. Defaults to 'sm'\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Toggle label / content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A pressable toggle button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"slider\": {\n \"$ref\": \"#/definitions/slider\",\n \"definitions\": {\n \"slider\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"slider\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"defaultValue\": {\n \"anyOf\": [\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n }\n }\n ],\n \"description\": \"Initial value or range [min, max]\"\n },\n \"min\": {\n \"type\": \"number\",\n \"description\": \"Minimum value. Defaults to 0\"\n },\n \"max\": {\n \"type\": \"number\",\n \"description\": \"Maximum value. Defaults to 100\"\n },\n \"step\": {\n \"type\": \"number\",\n \"description\": \"Step increment\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A range slider input\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"search-input\": {\n \"$ref\": \"#/definitions/search-input\",\n \"definitions\": {\n \"search-input\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"search-input\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"searchKey\": {\n \"type\": \"string\",\n \"description\": \"URL query param key for the search value\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"description\": \"Placeholder text. Defaults to 'Search by...'\"\n },\n \"debounceDelay\": {\n \"type\": \"number\",\n \"description\": \"Debounce delay in ms. Defaults to 500\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"ghost\",\n \"outline\"\n ],\n \"description\": \"Input style variant\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"searchKey\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A search input with debounced query param binding\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"icon-button\": {\n \"$ref\": \"#/definitions/icon-button\",\n \"definitions\": {\n \"icon-button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"icon-button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"icon\": {\n \"type\": \"string\",\n \"description\": \"Icon name (resolved by the renderer)\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"destructive\",\n \"outline\",\n \"ghost\",\n \"soft\",\n \"ai-filled\",\n \"ai-outline\",\n \"glass\"\n ],\n \"description\": \"Button style. Defaults to 'primary'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\"\n ],\n \"description\": \"Button size. Defaults to 'sm'\"\n },\n \"active\": {\n \"type\": \"boolean\",\n \"description\": \"Active / pressed state\"\n },\n \"rounded\": {\n \"type\": \"boolean\",\n \"description\": \"Fully round button\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"icon\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An icon-only action button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"link-button\": {\n \"$ref\": \"#/definitions/link-button\",\n \"definitions\": {\n \"link-button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"link-button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"href\": {\n \"type\": \"string\",\n \"description\": \"Link URL\"\n },\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Link text\"\n }\n },\n \"required\": [\n \"href\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A button styled as a navigation link\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"button-link\": {\n \"$ref\": \"#/definitions/button-link\",\n \"definitions\": {\n \"button-link\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"button-link\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Link text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"link\",\n \"text-link\",\n \"error\"\n ],\n \"description\": \"Link style. Defaults to 'link'\"\n },\n \"href\": {\n \"type\": \"string\",\n \"description\": \"Link URL\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An inline text link styled as a button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"select-hover\": {\n \"$ref\": \"#/definitions/select-hover\",\n \"definitions\": {\n \"select-hover\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"select-hover\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of selectable options\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"description\": \"Placeholder text. Defaults to 'Select an option'\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Currently selected value\"\n }\n },\n \"required\": [\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A hover-activated select dropdown\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"breadcrumb\": {\n \"$ref\": \"#/definitions/breadcrumb\",\n \"definitions\": {\n \"breadcrumb\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"breadcrumb\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Breadcrumb text\"\n },\n \"href\": {\n \"type\": \"string\",\n \"description\": \"Navigation URL\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"label\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Ordered list of breadcrumb segments\"\n }\n },\n \"required\": [\n \"items\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A breadcrumb navigation trail\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tooltip\": {\n \"$ref\": \"#/definitions/tooltip\",\n \"definitions\": {\n \"tooltip\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tooltip\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"content\": {\n \"type\": \"string\",\n \"description\": \"Tooltip text\"\n },\n \"position\": {\n \"type\": \"string\",\n \"enum\": [\n \"top\",\n \"top-center\",\n \"top-left\",\n \"top-right\",\n \"bottom\",\n \"bottom-left\",\n \"bottom-center\",\n \"bottom-right\",\n \"left\",\n \"right\"\n ],\n \"description\": \"Tooltip placement\"\n },\n \"withArrow\": {\n \"type\": \"boolean\",\n \"description\": \"Show an arrow pointer\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The trigger element the tooltip wraps\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A tooltip that appears on hover over its child element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"table\": {\n \"$ref\": \"#/definitions/table\",\n \"definitions\": {\n \"table\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"table\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"columns\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"accessorKey\": {\n \"type\": \"string\",\n \"description\": \"Key in the row data object\"\n },\n \"header\": {\n \"type\": \"string\",\n \"description\": \"Column header text\"\n }\n },\n \"required\": [\n \"accessorKey\",\n \"header\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Column definitions\"\n },\n \"tableData\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"description\": \"Array of row data objects\"\n }\n },\n \"required\": [\n \"columns\",\n \"tableData\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A data table with columns and rows\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet\": {\n \"$ref\": \"#/definitions/sheet\",\n \"definitions\": {\n \"sheet\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with sheet-trigger and sheet-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A slide-out panel overlay\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-trigger\": {\n \"$ref\": \"#/definitions/sheet-trigger\",\n \"definitions\": {\n \"sheet-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that opens the sheet\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger element that opens a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-content\": {\n \"$ref\": \"#/definitions/sheet-content\",\n \"definitions\": {\n \"sheet-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"side\": {\n \"type\": \"string\",\n \"enum\": [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\"\n ],\n \"description\": \"Slide-in direction. Defaults to 'right'\"\n },\n \"showCloseButton\": {\n \"type\": \"boolean\",\n \"description\": \"Show close button. Defaults to true\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Sheet body content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-header\": {\n \"$ref\": \"#/definitions/sheet-header\",\n \"definitions\": {\n \"sheet-header\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-header\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Header section of a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-footer\": {\n \"$ref\": \"#/definitions/sheet-footer\",\n \"definitions\": {\n \"sheet-footer\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-footer\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Footer section of a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-title\": {\n \"$ref\": \"#/definitions/sheet-title\",\n \"definitions\": {\n \"sheet-title\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-title\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Title text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Title inside a sheet-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-description\": {\n \"$ref\": \"#/definitions/sheet-description\",\n \"definitions\": {\n \"sheet-description\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-description\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Description text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Description text inside a sheet-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu\": {\n \"$ref\": \"#/definitions/dropdown-menu\",\n \"definitions\": {\n \"dropdown-menu\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with dropdown-menu-trigger and dropdown-menu-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A dropdown menu container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-trigger\": {\n \"$ref\": \"#/definitions/dropdown-menu-trigger\",\n \"definitions\": {\n \"dropdown-menu-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that opens the dropdown\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger element that opens a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-content\": {\n \"$ref\": \"#/definitions/dropdown-menu-content\",\n \"definitions\": {\n \"dropdown-menu-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"side\": {\n \"type\": \"string\",\n \"enum\": [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\"\n ]\n },\n \"align\": {\n \"type\": \"string\",\n \"enum\": [\n \"start\",\n \"center\",\n \"end\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Menu items\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-item\": {\n \"$ref\": \"#/definitions/dropdown-menu-item\",\n \"definitions\": {\n \"dropdown-menu-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Menu item text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"default\",\n \"destructive\"\n ],\n \"description\": \"Item style. Defaults to 'default'\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single item inside a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-separator\": {\n \"$ref\": \"#/definitions/dropdown-menu-separator\",\n \"definitions\": {\n \"dropdown-menu-separator\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-separator\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A visual separator between dropdown menu items\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-label\": {\n \"$ref\": \"#/definitions/dropdown-menu-label\",\n \"definitions\": {\n \"dropdown-menu-label\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-label\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A non-interactive label inside a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"popover\": {\n \"$ref\": \"#/definitions/popover\",\n \"definitions\": {\n \"popover\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"popover\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with popover-trigger and popover-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A popover overlay container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"popover-trigger\": {\n \"$ref\": \"#/definitions/popover-trigger\",\n \"definitions\": {\n \"popover-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"popover-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that opens the popover\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger element that opens a popover\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"popover-content\": {\n \"$ref\": \"#/definitions/popover-content\",\n \"definitions\": {\n \"popover-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"popover-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"align\": {\n \"type\": \"string\",\n \"enum\": [\n \"start\",\n \"center\",\n \"end\"\n ],\n \"description\": \"Alignment relative to trigger. Defaults to 'center'\"\n },\n \"sideOffset\": {\n \"type\": \"number\",\n \"description\": \"Offset from trigger in px. Defaults to 4\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Popover body content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a popover\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu\": {\n \"$ref\": \"#/definitions/context-menu\",\n \"definitions\": {\n \"context-menu\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with context-menu-trigger and context-menu-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A right-click context menu container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-trigger\": {\n \"$ref\": \"#/definitions/context-menu-trigger\",\n \"definitions\": {\n \"context-menu-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that triggers the context menu on right-click\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger area for a context menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-content\": {\n \"$ref\": \"#/definitions/context-menu-content\",\n \"definitions\": {\n \"context-menu-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Menu items\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a context menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-item\": {\n \"$ref\": \"#/definitions/context-menu-item\",\n \"definitions\": {\n \"context-menu-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Menu item text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"default\",\n \"destructive\"\n ],\n \"description\": \"Item style. Defaults to 'default'\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single item inside a context menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-separator\": {\n \"$ref\": \"#/definitions/context-menu-separator\",\n \"definitions\": {\n \"context-menu-separator\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-separator\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A visual separator between context menu items\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n }\n }\n}\n","import type { ComponentSchema } from \"./types\";\nimport schemaJson from \"../schema/component-schema.json\";\n\n/**\n * The full component schema auto-generated from Zod definitions.\n * Use this in your backend to inform the AI about available UI components.\n */\nexport const componentSchema: ComponentSchema = schemaJson as ComponentSchema;\n\n/**\n * Returns just the components section of the schema.\n */\nexport function getComponentSchemas() {\n return componentSchema.components;\n}\n\nexport type { ComponentSchema, UINode } from \"./types\";\n","import * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n isHidden,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger> & {\n isHidden?: boolean;\n}) {\n const sidebarOpenClass = cn(\"hidden opacity-0 transition-opacity\", {\n \"flex opacity-100\": !isHidden,\n });\n\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between rounded-md py-4 text-left text-sm font-medium transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n !isHidden && \"gap-4\",\n )}\n {...props}\n >\n {children}\n\n <ChevronDownIcon\n className={cn(\n \"pointer-events-none size-4 shrink-0 translate-y-0.5 text-inherit transition-transform duration-200\",\n sidebarOpenClass,\n )}\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function getInitials(name: string) {\n if (!name) return \"\";\n const nameParts = name?.split(\" \");\n if (nameParts?.length === 1) {\n return nameParts[0][0];\n }\n return nameParts[0][0] + nameParts[nameParts.length - 1][0];\n}\n\nexport function getFirstName(name: string) {\n if (!name) return \"\";\n const nameParts = name?.split(\" \");\n return nameParts[0];\n}\n\nexport function truncateFileNameMid(name: string, maxLength = 28) {\n const dotIndex = name.lastIndexOf(\".\");\n if (dotIndex === -1 || name.length <= maxLength) return name;\n const ext = name.slice(dotIndex);\n const base = name.slice(0, dotIndex);\n const keep = maxLength - ext.length - 3;\n if (keep <= 0) return `...${ext}`;\n const startLen = Math.ceil(keep / 2);\n const endLen = Math.floor(keep / 2);\n return `${base.slice(0, startLen)}...${base.slice(-endLen)}${ext}`;\n}\n\nexport function getFileSize(size: number) {\n if (size < 1024) return `${size} B`;\n if (size < 1024 * 1024) return `${(size / 1024).toFixed(2)} KB`;\n if (size < 1024 * 1024 * 1024) return `${(size / 1024 / 1024).toFixed(2)} MB`;\n return `${(size / 1024 / 1024 / 1024).toFixed(2)} GB`;\n}\n\nexport function getPaginationItems(currentPage: number, totalPages: number, maxLength: number) {\n const res: Array<number> = [];\n if (totalPages <= maxLength) {\n for (let i = 1; i <= totalPages; i++) res.push(i);\n return res;\n }\n res.push(1);\n let start = Math.max(currentPage - Math.floor(maxLength / 2), 2);\n let end = Math.min(start + maxLength - 2, totalPages - 1);\n if (end - start < maxLength - 2) start = Math.max(end - maxLength + 2, 2);\n if (start > 2) res.push(-1);\n for (let i = start; i <= end; i++) res.push(i);\n if (end < totalPages - 1) res.push(-1);\n res.push(totalPages);\n return res;\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg p-3 grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n secondary: \"bg-noticeBox-bg-secondary\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\ninterface AlertProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof alertVariants> {\n title?: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nfunction Alert({\n className,\n variant,\n title,\n description,\n icon,\n ...props\n}: AlertProps) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className, \"\")}\n {...props}\n >\n {icon}\n <div className=\"flex flex-col items-start gap-1\">\n {title && <BaseAlertTitle>{title}</BaseAlertTitle>}\n {description && (\n <BaseAlertDescription>{description}</BaseAlertDescription>\n )}\n </div>\n </div>\n );\n}\n\nfunction BaseAlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"leading-title-sm tracking-0 text-title-sm col-start-2 line-clamp-1 min-h-4 font-bold\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseAlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-element-inverse-default tracking-0 leading-caption text-body-sm col-start-2 grid justify-items-start gap-1 font-medium [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, BaseAlertDescription, BaseAlertTitle };\n","import * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { cva } from \"class-variance-authority\";\nimport { Tooltip, type PositionProps } from \"@/ui/Tooltip\";\n\n// Types\ntype StatusSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\ntype AvatarSize =\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"5xl\";\ntype Status = \"active\" | \"inactive\";\n\n// Constants\nconst STATUS_SIZE = {\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n xl: \"xl\",\n \"2xl\": \"2xl\",\n} as const;\n\nconst AVATAR_SIZE_MAPPER = {\n xs: {\n className: \"size-5 !text-caption !font-semibold\",\n statusSize: STATUS_SIZE.sm,\n },\n sm: {\n className: \"size-6 !text-caption !font-semibold\",\n statusSize: STATUS_SIZE.sm,\n },\n md: {\n className: \"size-7 !text-caption !font-semibold\",\n statusSize: STATUS_SIZE.sm,\n },\n lg: {\n className: \"size-8 !text-title-sm !font-bold\",\n statusSize: STATUS_SIZE.md,\n },\n xl: {\n className: \"size-9 !text-title-sm !font-bold\",\n statusSize: STATUS_SIZE.md,\n },\n \"2xl\": {\n className: \"size-10 !text-title-lg !font-bold\",\n statusSize: STATUS_SIZE.md,\n },\n \"3xl\": {\n className: \"size-16 !text-h5 !font-bold\",\n statusSize: STATUS_SIZE.lg,\n },\n \"4xl\": {\n className: \"size-20 !text-h3 !font-bold\",\n statusSize: STATUS_SIZE.xl,\n },\n \"5xl\": {\n className: \"size-28 !text-h2 !font-bold\",\n statusSize: STATUS_SIZE[\"2xl\"],\n },\n} as const;\n\n// Styles\nconst statusVariants = cva(\n \"bg-fill-static-green-03 absolute right-0 bottom-0 rounded-unit-corner-radius-rounded-full border-unit-border-width-sm !border-stroke-inverse-slate-01\",\n {\n variants: {\n size: {\n sm: \"size-2 border-unit-border-width-sm\",\n md: \"size-[10px] border-unit-border-width-sm\",\n lg: \"size-[18px] border-unit-border-width-md\",\n xl: \"size-6 border-unit-border-width-md\",\n \"2xl\": \"size-8 border-unit-border-width-lg\",\n },\n status: {\n active: \"bg-fill-static-green-03\",\n inactive: \"bg-fill-static-slate-03\",\n },\n },\n defaultVariants: {\n size: \"sm\",\n },\n },\n);\n\n// Interfaces\ninterface BaseAvatarProps\n extends React.ComponentProps<typeof AvatarPrimitive.Root> {\n fallback: string;\n fallbackClassName?: string;\n status?: Status;\n size?: AvatarSize;\n tooltip?: React.ReactNode;\n tooltipPosition?: PositionProps;\n}\n\ninterface ImageAvatarProps extends BaseAvatarProps {\n variant: \"image\";\n imgsrc: string;\n}\n\ninterface TextAvatarProps extends BaseAvatarProps {\n variant: \"text\";\n}\n\ninterface EmptyAvatarProps extends BaseAvatarProps {\n variant: \"placeholder\";\n}\n\nexport type AvatarProps = ImageAvatarProps | TextAvatarProps | EmptyAvatarProps;\n\n// Avatar Content Components\nconst ImageAvatarContent: React.FC<{\n imgsrc: string;\n fallback: string;\n sizeConfig: (typeof AVATAR_SIZE_MAPPER)[keyof typeof AVATAR_SIZE_MAPPER];\n fallbackClassName?: string;\n}> = ({ imgsrc, fallback, sizeConfig, fallbackClassName }) => (\n <>\n <BaseAvatarImage src={imgsrc} />\n <BaseAvatarFallback\n className={cn(\n sizeConfig.className,\n \"bg-primary-bg-normal\",\n fallbackClassName,\n )}\n >\n {fallback}\n </BaseAvatarFallback>\n </>\n);\n\nconst EmptyAvatarContent: React.FC<{\n fallback: string;\n sizeConfig: (typeof AVATAR_SIZE_MAPPER)[keyof typeof AVATAR_SIZE_MAPPER];\n fallbackClassName?: string;\n}> = ({ fallback, sizeConfig, fallbackClassName }) => (\n <>\n <BaseAvatarImage src=\"\" className=\"bg-fill-inverse-slate-03\" />\n <BaseAvatarFallback\n className={cn(\n sizeConfig.className,\n \"bg-primary-bg-normal\",\n fallbackClassName,\n )}\n >\n {fallback}\n </BaseAvatarFallback>\n </>\n);\n\n// const IconAvatarContent: React.FC<{\n// icon: React.ReactNode;\n// }> = ({ icon }) => <>{icon}</>;\n\nconst TextAvatarContent: React.FC<{\n fallback: string;\n sizeConfig: (typeof AVATAR_SIZE_MAPPER)[keyof typeof AVATAR_SIZE_MAPPER];\n fallbackClassName?: string;\n}> = ({ fallback, sizeConfig, fallbackClassName }) => (\n <BaseAvatarFallback\n className={cn(\n sizeConfig.className,\n \"bg-fill-inverse-slate-03 text-element-inverse-default font-semibold\",\n fallbackClassName,\n )}\n >\n {fallback}\n </BaseAvatarFallback>\n);\n\n// Main Components\nfunction AvatarStack({\n stackCount = 1,\n size = \"md\",\n showCount = true,\n isLastOnTop = true,\n stackClassName,\n avatars = [],\n}: {\n stackCount?: number;\n size?: \"sm\" | \"md\" | \"lg\";\n showCount?: boolean;\n isLastOnTop?: boolean;\n avatars: AvatarProps[];\n stackClassName?: string;\n}) {\n const sizeMap = { sm: \"xs\", md: \"sm\", lg: \"md\" } as const;\n\n return (\n <div className={cn(\"flex items-center -space-x-2\", stackClassName)}>\n {avatars.slice(0, stackCount).map((avatar, index) => (\n <Avatar\n {...avatar}\n key={index}\n size={sizeMap[size]}\n className=\"outline-stroke-inverse-slate-01 outline-1\"\n style={{\n zIndex: isLastOnTop ? index + 1 : stackCount - index,\n }}\n />\n ))}\n {showCount && avatars.length > stackCount && (\n <Avatar\n variant=\"text\"\n fallback={`+${avatars.length - stackCount}`}\n size={sizeMap[size]}\n className=\"text-element-inverse-default text-caption leading-caption bg-fill-inverse-slate-03 border-stroke-inverse-slate-01 outline-stroke-inverse-slate-01 border font-semibold outline-1\"\n fallbackClassName=\"text-caption\"\n style={{\n zIndex: isLastOnTop ? avatars.length + 1 : 0,\n }}\n />\n )}\n </div>\n );\n}\n\nfunction Avatar({\n variant,\n fallback,\n status,\n size = \"sm\",\n className,\n fallbackClassName,\n tooltip,\n tooltipPosition = \"top\",\n ...props\n}: AvatarProps) {\n const sizeConfig = AVATAR_SIZE_MAPPER[size];\n\n const renderAvatarContent = () => {\n switch (variant) {\n case \"image\":\n return (\n <ImageAvatarContent\n imgsrc={(props as ImageAvatarProps).imgsrc}\n fallback={fallback}\n sizeConfig={sizeConfig}\n fallbackClassName={fallbackClassName}\n />\n );\n case \"text\":\n return (\n <TextAvatarContent\n fallback={fallback}\n sizeConfig={sizeConfig}\n fallbackClassName={fallbackClassName}\n />\n );\n case \"placeholder\":\n return (\n <EmptyAvatarContent\n fallback={fallback}\n sizeConfig={sizeConfig}\n fallbackClassName={fallbackClassName}\n />\n );\n default:\n return null;\n }\n };\n\n const avatarElement = (\n <div className=\"relative w-fit\">\n <BaseAvatar\n {...props}\n className={cn(\n sizeConfig.className,\n className,\n \"flex items-center justify-center text-center\",\n {\n \"bg-primary-bg-light\": variant === \"placeholder\",\n },\n \"flex items-center justify-center text-center\",\n )}\n >\n {renderAvatarContent()}\n </BaseAvatar>\n {!!status && (\n <BaseAvatarStatus status={status} size={sizeConfig.statusSize} />\n )}\n </div>\n );\n\n if (tooltip) {\n return (\n <Tooltip\n trigger={avatarElement}\n content={tooltip}\n position={tooltipPosition}\n />\n );\n }\n\n return avatarElement;\n}\n\n// Base Components\nfunction BaseAvatarStatus({\n className,\n status,\n size,\n ...props\n}: {\n className?: string;\n status: Status;\n size: StatusSize;\n} & React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(statusVariants({ size, status }), className)}\n {...props}\n />\n );\n}\n\nfunction BaseAvatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseAvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction BaseAvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted flex size-full items-center justify-center rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarStack };\n","import * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\n/**\n * position = where the whole tooltip is placed (side + alignment). Arrow follows: same edge and alignment.\n * E.g. \"bottom-right\" = tooltip below, aligned right; arrow on top edge at end (right).\n */\nexport type PositionProps =\n | \"top\"\n | \"top-center\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n | \"left\"\n | \"right\";\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\n/** position = tooltip placement (side + align). No inversion. */\nfunction parsePosition(position: string): {\n side: Side;\n align: Align | undefined;\n} {\n const side: Side = /^top/.test(position)\n ? \"top\"\n : /^bottom/.test(position)\n ? \"bottom\"\n : /^left/.test(position)\n ? \"left\"\n : /^right/.test(position)\n ? \"right\"\n : \"top\";\n\n let align: Align | undefined;\n if (position.includes(\"-\")) {\n if (position.endsWith(\"-center\")) align = undefined;\n else if (/(left|top)$/.test(position)) align = \"start\";\n else if (/(right|bottom)$/.test(position)) align = \"end\";\n }\n\n return { side, align };\n}\n\nfunction getArrowPositionStyle(\n side: Side,\n align: Align | undefined\n): React.CSSProperties {\n const offset = 0; // 0.75rem\n if (align === \"start\") {\n if (side === \"top\" || side === \"bottom\")\n return { left: offset, right: \"auto\", transform: undefined };\n return { top: offset, bottom: \"auto\", transform: undefined };\n }\n if (align === \"end\") {\n if (side === \"top\" || side === \"bottom\")\n return { right: offset, left: \"auto\", transform: undefined };\n return { bottom: offset, top: \"auto\", transform: undefined };\n }\n return {};\n}\n\n/** Optional: wrap a subtree to share tooltip delay/behavior. Each Tooltip has its own context by default. */\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\n// Main component: each Tooltip has its own Provider (separate context) so interactive content works when disableHoverableContent={false}.\nfunction Tooltip({\n trigger,\n content,\n position = \"top\",\n withArrow = true,\n className,\n disableHoverableContent = true,\n ...props\n}: {\n trigger: React.ReactNode;\n content: React.ReactNode;\n position?: PositionProps;\n withArrow?: boolean;\n className?: string;\n disableHoverableContent?: boolean;\n} & React.ComponentProps<typeof TooltipPrimitive.Root>) {\n const { side, align } = parsePosition(position);\n\n return (\n <TooltipPrimitive.Provider delayDuration={0}>\n <TooltipPrimitive.Root\n data-slot=\"tooltip\"\n disableHoverableContent={disableHoverableContent}\n {...props}\n >\n <TooltipPrimitive.Trigger asChild data-slot=\"tooltip-trigger\">\n {trigger}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n side={side}\n align={align}\n sideOffset={0}\n className={cn(\n disableHoverableContent && \"pointer-events-none\",\n \"text-element-inverse-default-alt! font-medium bg-fill-inverse-slate-10 glass-effect rounded-unit-corner-radius-lg shadow-box\",\n \"animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:invisible data-[state=closed]:hidden\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n \"text-body-sm z-(--z-popover) w-fit origin-(--radix-tooltip-content-transform-origin) px-unit-8px py-unit-6px font-sans text-balance max-w-[500px]\",\n className\n )}\n >\n {content}\n {withArrow && (\n <TooltipPrimitive.Arrow\n data-slot=\"tooltip-arrow\"\n data-arrow-align={align}\n className=\"fill-fill-inverse-slate-10 z-(--z-popover)\"\n style={{\n ...getArrowPositionStyle(side, align),\n }}\n />\n )}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n );\n}\n\nexport { Tooltip, TooltipProvider };\n","import { cn } from \"@/utils\";\nimport { forwardRef } from \"react\";\n\nexport const Text = forwardRef<\n HTMLParagraphElement,\n React.ComponentProps<\"p\"> & {\n className?: string;\n }\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n return (\n <p\n ref={ref}\n className={cn(\n \"text-body-sm! leading-body-sm text-element-inverse-default font-medium\",\n className\n )}\n {...rest}\n >\n {children}\n </p>\n );\n});\n\nText.displayName = \"Text\";\n","import { Avatar, Badge } from \"@/ui\";\nimport { Text } from \"@/ui/Text\";\nimport { cn, getInitials } from \"@/utils\";\nimport type { PositionProps } from \"@/ui/Tooltip\";\n\ntype AvatarListItemProps = {\n avatar: string;\n name: string;\n email: string;\n isMe?: boolean;\n className?: string;\n tooltip?: React.ReactNode;\n tooltipPosition?: PositionProps;\n};\n\nconst AvatarListItem = (props: AvatarListItemProps) => {\n const { avatar, name, email, isMe = false, className, tooltip, tooltipPosition } = props;\n\n return (\n <div className={cn(\"flex gap-3 p-2\", className)}>\n <Avatar\n fallback={getInitials(name)}\n variant=\"image\"\n imgsrc={avatar}\n size=\"2xl\"\n tooltip={tooltip}\n tooltipPosition={tooltipPosition}\n />\n\n <div className=\"flex flex-col\">\n <div className=\"flex flex-nowrap gap-1.5\">\n <Text className=\"text-title-sm font-semibold\">{name}</Text>\n\n {isMe && <Badge>You</Badge>}\n </div>\n\n <Text className=\"text-body-sm! text-element-inverse-gray truncate font-medium\">\n {email}\n </Text>\n </div>\n </div>\n );\n};\n\nexport default AvatarListItem;\n","import { cn } from \"@/utils\";\nimport { cva } from \"class-variance-authority\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport IconContainer from \"@/ui/IconContainer\";\n\nconst BadgeVariants = cva(\n \"w-full !text-caption leading-caption cursor-default flex max-w-fit items-center justify-center gap-0.5 font-medium\",\n {\n variants: {\n type: {\n // primary: \"bg-fill-static-blue-03 text-element-static-white\",\n \"primary-hard\": \"bg-fill-static-blue-03 text-element-static-white\",\n \"primary-soft\": \"bg-fill-inverse-blue-02 text-element-inverse-blue\",\n \"destructive-hard\": \"bg-fill-static-red-03 text-element-static-white\",\n \"destructive-soft\": \"bg-fill-inverse-red-02 text-element-inverse-red\",\n \"secondary-hard\":\n \"bg-fill-inverse-slate-09 text-element-inverse-default-alt\",\n \"secondary-soft\":\n \"bg-fill-inverse-slate-03 text-element-inverse-default\",\n },\n size: {\n sm: \"rounded-unit-corner-radius-sm py-unit-0px px-unit-4px\",\n md: \"rounded-unit-corner-radius-md py-unit-2px px-unit-6px\",\n },\n },\n },\n);\n\ninterface BadgeProps {\n type?:\n | \"primary-hard\"\n | \"primary-soft\"\n | \"destructive-hard\"\n | \"destructive-soft\"\n | \"secondary-hard\"\n | \"secondary-soft\";\n size?: \"sm\" | \"md\";\n rounded?: boolean;\n children: React.ReactNode;\n className?: string;\n prefixIcon?: React.ReactNode;\n suffixIcon?: React.ReactNode;\n}\n\n// Main component\nconst Badge = ({\n type = \"primary-hard\",\n children,\n size = \"sm\",\n className,\n rounded = false,\n prefixIcon,\n suffixIcon,\n}: BadgeProps) => {\n return (\n <BaseBadge\n className={cn(\n BadgeVariants({ type, size }),\n className,\n rounded ? \"!rounded-full\" : \"\",\n )}\n >\n {prefixIcon && (\n <IconContainer\n className={cn(\n \"h-5 w-5 p-0.5\",\n type.includes(\"hard\")\n ? \"[&_path]:fill-current\"\n : \"[&_path]:fill-current\",\n )}\n >\n {prefixIcon}\n </IconContainer>\n )}\n {children}\n {suffixIcon && (\n <IconContainer\n className={cn(\n \"h-5 w-5 p-0.5\",\n type.includes(\"hard\")\n ? \"[&_path]:fill-current\"\n : \"[&_path]:fill-current\",\n )}\n >\n {suffixIcon}\n </IconContainer>\n )}\n </BaseBadge>\n );\n};\n\n// Base components\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction BaseBadge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, BaseBadge };\n","import { cn } from \"@/utils\";\nimport Lottie, { type LottieRefCurrentProps } from \"lottie-react\";\nimport * as React from \"react\";\nimport { useRef } from \"react\";\n\ntype IconContainerProps = {\n /**\n * Whether to apply fill colors to SVG paths (true) or use text color (false).\n * @default true\n */\n colorInFill?: boolean;\n /**\n * Whether to disable the theme.\n * @default false\n */\n disableTheme?: boolean;\n /**\n * The type of icon to display.\n * - `animated`: Displays an animated Lottie animation.\n * - `static`: Displays a static icon.\n * @default \"static\"\n */\n type?: \"animated\" | \"static\";\n /**\n * The size of the icon.\n * @default \"sm\"\n */\n size?:\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"5xl\"\n | \"6xl\"\n | \"auto\";\n} & React.HTMLAttributes<HTMLDivElement>;\n\ntype AnimatedIconProps = IconContainerProps & {\n type: \"animated\";\n isLoading?: boolean;\n animationData: unknown;\n};\n\ntype StaticIconProps = IconContainerProps & {\n type?: \"static\";\n children: React.ReactNode;\n};\n\nexport type IconProps = AnimatedIconProps | StaticIconProps;\n\nfunction isAnimatedIconProps(props: IconProps): props is AnimatedIconProps {\n return props.type === \"animated\";\n}\n\nexport default function IconContainer({\n colorInFill = true,\n type = \"static\",\n disableTheme = false,\n size = \"sm\",\n className,\n ...props\n}: IconProps) {\n const lottieRef = useRef<LottieRefCurrentProps>(null);\n\n const typedProps = { ...props, type } as IconProps;\n\n const isAnimated = isAnimatedIconProps(typedProps);\n\n // Get container size based on size prop\n const getContainerSize = (containerSize: IconContainerProps[\"size\"]) => {\n switch (containerSize) {\n case \"auto\":\n return \"\";\n case \"xs\":\n return \"h-[18px] w-[18px]\";\n case \"sm\":\n return \"h-5 w-5\";\n case \"md\":\n return \"w-6 h-6\";\n case \"lg\":\n return \"h-7 w-7\";\n case \"xl\":\n return \"h-8 w-8\";\n case \"2xl\":\n return \"h-9 w-9\";\n case \"3xl\":\n return \"h-11 w-11\";\n case \"4xl\":\n return \"h-14 w-14\";\n case \"5xl\":\n return \"h-[68px] w-[68px]\";\n case \"6xl\":\n return \"h-20 w-20\";\n default:\n return \"h-[18px] w-[18px]\";\n }\n };\n\n const handleMouseEnter = () => {\n lottieRef.current?.setDirection(1);\n lottieRef.current?.play();\n };\n const handleMouseLeave = () => {\n if (isAnimated && !typedProps.isLoading) {\n lottieRef.current?.setDirection(-1);\n lottieRef.current?.play();\n }\n };\n\n return (\n <div\n onMouseEnter={isAnimated ? handleMouseEnter : undefined}\n onMouseLeave={isAnimated ? handleMouseLeave : undefined}\n className={cn(\n \"flex shrink-0 items-center justify-center\",\n getContainerSize(size),\n {\n /* Styles for svg paths */\n \"[&_path]:fill-element-inverse-default dark:[&_path]:fill-element-inverse-defaul-alt\":\n !disableTheme && colorInFill,\n\n /* Styles for svg element */\n \"text-element-inverse-default\": !disableTheme && !colorInFill,\n\n /* Exception for button ai-outline variant */\n \"group-hover:group-data-[variant='ai-outline']:[&_path]:fill-element-inverse-default-alt! dark:group-hover:group-data-[variant='ai-outline']:[&_path]:fill-element-inverse-default!\":\n !disableTheme,\n },\n className,\n )}\n {...props}\n >\n {!isAnimated && (\n <>\n {React.Children.map(typedProps.children, (child) => {\n if (React.isValidElement(child)) {\n const childElement = child as React.ReactElement<any>;\n return React.cloneElement(childElement, {\n className: cn(\n \"h-full w-full\",\n childElement.props?.className || \"\",\n ),\n strokeWidth: 0.4,\n });\n }\n return child;\n })}\n </>\n )}\n {isAnimated && (\n <Lottie\n lottieRef={lottieRef}\n animationData={typedProps.animationData}\n loop={typedProps.isLoading}\n autoplay={typedProps.isLoading}\n />\n )}\n </div>\n );\n}\n","import { ChevronRight } from \"lucide-react\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/ui/Dropdown\";\nimport { cn } from \"@/utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React from \"react\";\n\ninterface BreadcrumbItemType {\n label: string;\n href?: string;\n onlyIcon?: React.ReactNode;\n leadingIcon?: React.ReactNode;\n disabled?: boolean;\n}\n\ninterface BreadcrumbProps {\n items: BreadcrumbItemType[];\n className?: string;\n}\n\n// Common styles for breadcrumb items\nconst breadcrumbItemStyles =\n \"hover:bg-breadcrumb-bg-hover py-2px px-2px text-caption text-text-light rounded-md font-medium transition-colors duration-75\";\nconst disabledItemStyles =\n \"text-text-inactive bg-transparent hover:bg-transparent\";\nconst iconContainerStyles =\n \"flex h-[18px] w-[18px] items-center justify-center\";\nconst linkStyles = \"text-caption gap-x-4px flex items-center\";\n\n// Component to render item content (icon + label)\nconst ItemContent = ({ item }: { item: BreadcrumbItemType }) => {\n if (item.onlyIcon) {\n return (\n <span className=\"p-0.5\">\n <span className={iconContainerStyles}>{item.onlyIcon}</span>\n </span>\n );\n }\n\n if (item.leadingIcon) {\n return (\n <>\n <span className={iconContainerStyles}>{item.leadingIcon}</span>\n {item.label}\n </>\n );\n }\n\n return <span className=\"px-4px py-2px\">{item.label}</span>;\n};\n\n// Component to render a single breadcrumb item\nconst BreadcrumbItemContent = ({ item }: { item: BreadcrumbItemType }) => {\n if (item.disabled) {\n return (\n <BreadcrumbPage className={linkStyles}>\n <ItemContent item={item} />\n </BreadcrumbPage>\n );\n }\n\n return (\n <BreadcrumbLink href={item.href} className={linkStyles}>\n <ItemContent item={item} />\n </BreadcrumbLink>\n );\n};\n\nconst Breadcrumb = ({ items }: BreadcrumbProps) => {\n const renderItems = () => {\n const first = items[0];\n const middle = items.slice(1, items.length - 2);\n const lastTwo = items.slice(-2);\n\n return items.length >= 4 ? (\n <>\n {/* First item */}\n <BreadcrumbItem\n key={first.label}\n className={cn(\n breadcrumbItemStyles,\n first.disabled && disabledItemStyles,\n first.leadingIcon && \"pl-2px pr-4px\",\n )}\n >\n <ItemContent item={first} />\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n\n {/* Dropdown ellipsis for middle items */}\n <BreadcrumbItem key=\"ellipsis\" className={cn(breadcrumbItemStyles)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <BreadcrumbEllipsis />\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n {middle.map((item) => (\n <DropdownMenuItem key={item.label}>\n <BreadcrumbLink href={item.href} className={linkStyles}>\n <ItemContent item={item} />\n </BreadcrumbLink>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n\n {/* Last two items */}\n {lastTwo.map((item, idx) => (\n <React.Fragment key={item.label}>\n <BreadcrumbItem\n className={cn(\n breadcrumbItemStyles,\n item.leadingIcon && \"pl-2px pr-4px\",\n item.disabled && disabledItemStyles,\n idx === lastTwo.length - 1 && \"text-text-default font-semibold\",\n )}\n >\n <BreadcrumbItemContent item={item} />\n </BreadcrumbItem>\n {idx < lastTwo.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n </>\n ) : (\n items.map((item, idx) => (\n <React.Fragment key={item.label}>\n <BreadcrumbItem\n className={cn(\n breadcrumbItemStyles,\n item.leadingIcon && \"pl-2px pr-4px\",\n item.disabled && disabledItemStyles,\n idx === items.length - 1 && \"text-text-default font-semibold\",\n )}\n >\n <BreadcrumbItemContent item={item} />\n </BreadcrumbItem>\n {idx < items.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))\n );\n };\n\n return (\n <BaseBreadcrumb>\n <BreadcrumbList>{renderItems()}</BreadcrumbList>\n </BaseBreadcrumb>\n );\n};\n\nexport { Breadcrumb };\n\n// Base components\nfunction BaseBreadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1 text-sm break-words\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"hover:text-foreground transition-colors\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"text-foreground font-normal\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-[18px]\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex items-center justify-center px-1\", className)}\n {...props}\n >\n <span className=\"text-caption text-text-light\">...</span>\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n","import { cn } from \"@/utils\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\";\nimport { MagickoCheck } from \"magick-icons\";\nimport IconContainer from \"@/ui/IconContainer\";\n\n// Base components for dropdown menu\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n isBgTransparent = true,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger> & {\n isBgTransparent?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n className={cn(\n props.className,\n \"text-element-inverse-default gap-x-unit-8px px-unit-12px py-unit-10px hover:bg-dropdown-hovered text-body-sm rounded-unit-corner-radius-lg flex cursor-pointer items-center font-medium whitespace-nowrap ring-0 transition-all outline-none\",\n {\n \"bg-transparent\": isBgTransparent,\n },\n )}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"text-element-inverse-default bg-opacity-inverse-05 glass-effect border-stroke-inverse-slate-02 rounded-unit-corner-radius-3xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 shadow-box p-unit-8px z-[var(--z-popover)] max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto border\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n showCheck = false,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n showCheck?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"hover:bg-dropdown-hovered p-unit-6px focus:bg-dropdown-hovered focus:bg-dropdown-bg-hover text-element-inverse-default [&_svg:not([class*='text-'])]:text-muted-foreground text-body-sm rounded-unit-corner-radius-lg relative flex cursor-pointer items-center justify-between gap-3 font-medium outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n {showCheck && <CheckIcon className=\"text-element-inverse-blue ml-auto\" />}\n </DropdownMenuPrimitive.Item>\n );\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n checkPosition = \"left\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n checkPosition?: \"left\" | \"right\";\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"text-element-inverse-default p-unit-6px hover:bg-dropdown-hovered focus:bg-dropdown-hovered rounded-unit-corner-radius-lg text-body-sm relative flex cursor-pointer items-center gap-2 outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {checkPosition === \"left\" && (\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <IconContainer disableTheme colorInFill={false}>\n <MagickoCheck className=\"[&_path]:fill-element-inverse-blue size-4\" />\n </IconContainer>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n )}\n {children}\n {checkPosition === \"right\" && (\n <span className=\"pointer-events-none absolute right-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <IconContainer disableTheme colorInFill={false}>\n <MagickoCheck className=\"[&_path]:fill-element-inverse-blue size-4\" />\n </IconContainer>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n )}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"text-element-inverse-default px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n hideChevron = false,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n hideChevron?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n {!hideChevron && <ChevronRightIcon className=\"ml-auto size-4\" />}\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n side,\n sideOffset,\n align,\n alignOffset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n sideOffset?: number;\n align?: \"start\" | \"center\" | \"end\";\n alignOffset?: number;\n}) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n {...(side && { side })}\n {...(sideOffset !== undefined && { sideOffset })}\n {...(align && { align })}\n {...(alignOffset !== undefined && { alignOffset })}\n className={cn(\n \"bg-surface-bg-container text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[var(--z-popover)] min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-3xl p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Loader2Icon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\n\nexport interface ButtonProps\n extends Omit<React.ComponentProps<\"button\">, \"prefix\" | \"suffix\">,\n VariantProps<typeof buttonVariants> {\n size?: \"sm\" | \"md\" | \"lg\";\n state?: \"loading\" | \"default\";\n asChild?: boolean;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n onlyIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst buttonVariants = cva(\n \"flex group leading-body-sm line-height-body-sm items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md font-medium transition-all disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[20px] shrink-0 [&_svg]:shrink-0 outline-none ring-0\",\n {\n variants: {\n variant: {\n // default:\n // \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n primary:\n \"bg-button-primary-enabled text-element-static-white! hover:bg-button-primary-hovered active:bg-button-primary-pressed focus-visible:bg-button-primary-pressed disabled:bg-button-primary-disabled disabled:text-element-inverse-disabled!\",\n secondary:\n \"bg-button-secondary-enabled text-element-inverse-default-alt! hover:bg-button-secondary-hovered active:bg-button-secondary-pressed disabled:bg-button-secondary-disabled disabled:text-element-inverse-disabled!\",\n destructive:\n \"bg-button-destructive-enabled text-element-static-white! hover:bg-button-destructive-hovered active:bg-button-destructive-pressed disabled:bg-button-destructive-disabled disabled:text-element-inverse-disabled!\",\n outline:\n \"border border-stroke-inverse-slate-03 text-element-inverse-default rounded-unit-corner-radius-lg bg-button-outline-enabled hover:bg-button-outline-hovered active:bg-button-outline-pressed disabled:bg-button-outline-disabled disabled:text-element-inverse-disabled!\",\n ghost:\n \"bg-transparent text-element-inverse-default hover:bg-button-ghost-hovered active:bg-button-ghost-pressed disabled:bg-button-ghost-disabled disabled:text-element-inverse-disabled!\",\n soft: \"bg-button-soft-enabled text-element-inverse-default hover:bg-button-soft-hovered active:bg-button-soft-pressed disabled:bg-button-soft-disabled disabled:text-element-inverse-disabled!\",\n \"ai-filled\": \"relative\",\n \"ai-outline\": \"relative\",\n glass:\n \"glass-effect bg-button-glass-enabled border border-stroke-inverse-slate-01 hover:bg-button-glass-hovered active:bg-button-glass-pressed disabled:bg-button-glass-disabled\",\n },\n size: {\n sm: \"rounded-lg gap-1 px-1.5 py-1 text-body-sm\",\n // \"icon-sm\": \"p-4px rounded-md \",\n md: \"px-2.5 py-2 rounded-[10px] gap-2 text-body-sm\",\n // \"icon-md\": \"rounded-lg p-2\",\n lg: \"px-3.5 py-3 rounded-xl gap-2 text-body-lg\",\n // \"icon-lg\": \"rounded-xl p-3\",\n },\n\n state: {\n loading: \"opacity-80 cursor-progress\",\n default: \"\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n state: \"default\",\n },\n }\n);\n\nfunction getButtonPadding(\n size: string,\n prefix: React.ReactNode,\n suffix: React.ReactNode,\n onlyIcon?: boolean\n): string {\n if (prefix && suffix) {\n if (size === \"sm\") return \"px-1.5\";\n if (size === \"md\") return \"p-2.5\";\n if (size === \"lg\") return \"px-3\";\n } else if (prefix) {\n if (size === \"sm\") return \"pl-1.5 pr-2\";\n if (size === \"md\") return \"pl-2.5 py-2.5 pr-3\";\n if (size === \"lg\") return \"pl-3.5 pr-4\";\n } else if (suffix) {\n if (size === \"sm\") return \"pr-1.5 pl-2\";\n if (size === \"md\") return \"pl-3\";\n if (size === \"lg\") return \"pr-3.5 pl-4\";\n } else if (onlyIcon) {\n if (size === \"sm\") return \"p-1\";\n if (size === \"md\") return \"p-2\";\n if (size === \"lg\") return \"p-3\";\n }\n return \"\";\n}\n\nfunction Button({\n className,\n variant = \"primary\",\n state,\n size = \"md\",\n prefix,\n suffix,\n onlyIcon,\n asChild = false,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : \"button\";\n const isDisabled = state === \"loading\" || props.disabled;\n\n const renderAffix = (node?: React.ReactNode) => {\n if (!node) return null;\n if (React.isValidElement(node)) {\n const nodeElement = node as React.ReactElement<{ className?: string }>;\n return React.cloneElement(nodeElement, {\n className: cn(\n nodeElement.props?.className || \"\",\n isDisabled && \"text-element-inverse-disabled\"\n ),\n });\n }\n return node;\n };\n\n if (variant === \"ai-filled\" || variant === \"ai-outline\") {\n const isAiFilled = variant === \"ai-filled\";\n\n return (\n <Comp\n data-variant={variant}\n data-slot=\"button\"\n className={cn(\"group relative cursor-pointer p-0.5\")}\n disabled={isDisabled}\n {...props}\n >\n <div\n className={cn(\n \"absolute inset-0 block\",\n buttonVariants({ size, className })\n )}\n style={{\n backgroundImage: \"none\",\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }}\n />\n <div\n className={cn(\n buttonVariants({ variant, size, className }),\n size === \"sm\" && \"rounded-[7px]\",\n size === \"md\" && \"rounded-[9px]\",\n size === \"lg\" && \"rounded-[11px]\",\n getButtonPadding(size, prefix, suffix, onlyIcon),\n {\n \"gap-1\": size === \"sm\",\n \"hover:text-element-inverse-default text-white hover:bg-white\":\n isAiFilled,\n \"text-element-inverse-default dark:bg-fill-background bg-white hover:bg-transparent hover:text-white\":\n !isAiFilled,\n }\n )}\n >\n {state === \"loading\" && <Loader2Icon className=\"animate-spin\" />}\n {renderAffix(prefix)}\n {children}\n {renderAffix(suffix)}\n </div>\n </Comp>\n );\n }\n\n return (\n <Comp\n data-variant={variant}\n data-slot=\"button\"\n className={cn(\n buttonVariants({ variant, size, className }),\n getButtonPadding(size || \"md\", prefix, suffix, onlyIcon || false)\n )}\n disabled={isDisabled}\n {...props}\n >\n {state === \"loading\" && <Loader2Icon className=\"animate-spin\" />}\n {renderAffix(prefix)}\n {children}\n {renderAffix(suffix)}\n </Comp>\n );\n}\n\nexport { Button, buttonVariants };\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Loader2Icon } from \"lucide-react\";\n\nexport interface ToolButtonProps\n extends Omit<React.ComponentProps<\"button\">, \"prefix\" | \"suffix\">,\n VariantProps<typeof toolButtonVariants> {\n state?: \"loading\" | \"default\";\n asChild?: boolean;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n onlyIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst toolButtonVariants = cva(\n \"inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md text-body-sm font-medium transition-all disabled:pointer-events-none disabled:bg-button-bg-inactive [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[20px] shrink-0 [&_svg]:shrink-0 outline-none ring-0\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-bg-primaryDefault !text-white hover:bg-button-bg-primaryHover\",\n outline:\n \"border border-border-primary-light bg-button-bg-outlineDefault !text-text-default hover:bg-button-bg-outlineHover disabled:bg-button-bg-outlineDefault disabled:!text-text-inactive\",\n destructive:\n \"bg-button-bg-destructiveDefault !text-white hover:bg-button-bg-destructiveHover\",\n },\n size: {\n md: \"px-2.5 py-2 rounded-lg gap-2 text-body-sm\",\n lg: \"p-4 rounded-xl gap-2 text-body-sm\",\n },\n state: {\n loading: \"opacity-80 cursor-progress\",\n default: \"\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n state: \"default\",\n },\n },\n);\n\nfunction getToolButtonPadding(\n size: string,\n prefix: React.ReactNode,\n suffix: React.ReactNode,\n onlyIcon?: boolean,\n): string {\n if (size === \"md\") {\n if (prefix && suffix) return \"px-2\";\n else if (prefix) return \"pl-2 pr-2.5\";\n else if (suffix) return \"pr-2 pl-2.5\";\n else if (onlyIcon) return \"p-2\";\n }\n return \"p-4\";\n}\n\nfunction ToolButton({\n className,\n variant,\n state,\n size,\n prefix,\n suffix,\n onlyIcon,\n asChild = false,\n children,\n ...props\n}: ToolButtonProps) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n type=\"button\"\n className={cn(\n toolButtonVariants({ variant, size, className }),\n getToolButtonPadding(size || \"md\", prefix, suffix, onlyIcon || false),\n )}\n disabled={state === \"loading\" || props.disabled}\n {...props}\n >\n {state === \"loading\" && <Loader2Icon className=\"animate-spin\" />}\n {prefix && prefix}\n {children}\n {suffix && suffix}\n </Comp>\n );\n}\n\nexport { ToolButton, toolButtonVariants };\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nexport interface ButtonLinkProps\n extends Omit<React.ComponentProps<\"a\">, \"children\" | \"prefix\" | \"suffix\">,\n VariantProps<typeof buttonLinkVariants> {\n asChild?: boolean;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n disabled?: boolean;\n children: React.ReactNode;\n}\n\nconst buttonLinkVariants = cva(\n \"inline-flex items-center gap-1 !text-body-sm cursor-pointer font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n link: \"text-element-inverse-blue underline underline-offset-4\",\n \"text-link\": \"text-element-inverse-default\",\n error: \"text-element-inverse-red\",\n },\n },\n defaultVariants: {\n variant: \"link\",\n },\n }\n);\n\nfunction ButtonLink({\n className,\n variant,\n prefix,\n suffix,\n disabled = false,\n asChild = false,\n children,\n ...props\n}: ButtonLinkProps) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n className={cn(buttonLinkVariants({ variant }), className, {\n \"text-element-inverse-disabled pointer-events-none hover:font-medium\":\n disabled,\n \"flex items-center gap-1\": prefix || suffix,\n })}\n aria-disabled={disabled}\n {...props}\n >\n {prefix && prefix}\n <span>{children}</span>\n {suffix && suffix}\n </Comp>\n );\n}\n\nexport { ButtonLink, buttonLinkVariants };\n","import type { TooltipProps } from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps } from \"react\";\nimport { Tooltip } from \"@/ui/Tooltip\";\n\nexport default function ButtonWithTooltip({\n tooltip,\n button,\n}: {\n tooltip: Omit<ComponentProps<typeof Tooltip>, \"trigger\">;\n button: React.ReactNode;\n}) {\n return <Tooltip {...tooltip} trigger={button} />;\n}\n","import * as React from \"react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@/utils\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { Button, buttonVariants } from \"@/ui/Button\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"group/calendar bg-fill-foreground p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months,\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n \"w-full flex items-center text-body-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n \"relative has-focus:border-stroke-static-blue-03 border border-stroke-inverse-slate-02 shadow-xs has-focus:ring-stroke-static-blue-03 has-focus:ring-[3px] rounded-unit-corner-radius-md\",\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn(\"absolute inset-0 opacity-0\", defaultClassNames.dropdown),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-body-sm\"\n : \"rounded-unit-corner-radius-md pl-2 pr-1 flex items-center gap-1 text-body-sm h-8 [&>svg]:text-element-inverse-gray [&>svg]:size-3.5\",\n defaultClassNames.caption_label,\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-element-inverse-gray rounded-unit-corner-radius-md flex-1 font-normal text-body-sm select-none\",\n defaultClassNames.weekday,\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header,\n ),\n week_number: cn(\n \"text-body-sm select-none text-element-inverse-gray\",\n defaultClassNames.week_number,\n ),\n day: cn(\n \"relative w-full h-full rounded-unit-corner-radius-md p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-unit-corner-radius-md [&:last-child[data-selected=true]_button]:rounded-r-unit-corner-radius-md group/day aspect-square select-none\",\n defaultClassNames.day,\n ),\n range_start: cn(\n \"rounded-l-unit-corner-radius-md bg-fill-inverse-slate-05\",\n defaultClassNames.range_start,\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\n \"rounded-r-unit-corner-radius-md bg-fill-inverse-slate-05\",\n defaultClassNames.range_end,\n ),\n today: cn(\n \"bg-fill-inverse-slate-03 rounded-unit-corner-radius-md! data-[selected=true]:rounded-none\",\n defaultClassNames.today,\n ),\n outside: cn(\n \"text-element-inverse-gray aria-selected:text-element-inverse-gray\",\n defaultClassNames.outside,\n ),\n disabled: cn(\n \"text-element-inverse-disabled opacity-unit-md\",\n defaultClassNames.disabled,\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"sm\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"data-[selected-single=true]:bg-button-primary-enabled data-[range-middle=true]:bg-fill-inverse-blue-01 data-[range-middle=true]:text-element-inverse-blue data-[range-start=true]:bg-button-primary-enabled data-[range-end=true]:bg-button-primary-enabled group-data-[focused=true]/day:border-stroke-static-blue-03 group-data-[focused=true]/day:ring-stroke-static-blue-03/50 data-[range-end=true]:rounded-unit-corner-radius-md data-[range-end=true]:rounded-r-unit-corner-radius-md data-[range-start=true]:rounded-unit-corner-radius-md data-[range-start=true]:rounded-l-unit-corner-radius-md [&>span]:text-body-sm [&>span]:opacity-unit-xl flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:!text-white data-[range-middle=true]:rounded-none data-[range-start=true]:!text-white data-[selected-single=true]:!text-white\",\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar };\n","import * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-card-bg-default border-border-primary-light hover:bg-card-bg-hover flex cursor-pointer flex-col gap-y-4 rounded-3xl border p-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-title-sm leading-none font-bold\", className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-content\" className={className} {...props} />;\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n","import useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Button } from \"@/ui\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"md\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ChevronLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"md\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ChevronRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n type CarouselApi,\n};\n","import * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon, Minus } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\n\ntype CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root> & {\n indeterminate?: boolean;\n value: string;\n label?: string | React.ReactNode;\n subLabel?: string | React.ReactNode;\n};\n\nfunction Checkbox({\n className,\n value,\n label,\n subLabel,\n ...props\n}: CheckboxProps) {\n return (\n <div className=\"flex flex-nowrap items-start gap-2\">\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer focus-visible:ring-effect-ring-primary aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive rounded-unit-corner-radius-md size-4 h-5 w-5 shrink-0 border shadow-xs transition-shadow outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\",\n \"\",\n \"data-[state=unchecked]:hover:bg-fill-inverse-slate-02 data-[state=unchecked]:border-stroke-inverse-slate-03 data-[state=unchecked]:hover:border-stroke-static-slate-03 data-[state=unchecked]:disabled:bg-fill-inverse-slate-02 data-[state=unchecked]:disabled:border-stroke-inverse-slate-02\",\n \"\",\n \"data-[state=checked]:bg-check-box-and-radio-selected-enabled data-[state=checked]:text-element-static-white data-[state=checked]:active:bg-check-box-and-radio-selected-pressed data-[state=checked]:hover:bg-check-box-and-radio-selected-hovered data-[state=checked]:disabled:bg-check-box-and-radio-selected-disabled data-[state=checked]:disabled:border-stroke-inverse-slate-03 data-[state=checked]:border-transparent\",\n className,\n )}\n id={props.id || value}\n checked={props.checked}\n onCheckedChange={\n props.onChange as unknown as (checked: boolean) => void\n }\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n {props.indeterminate ? (\n <Minus className=\"size-3.5\" />\n ) : (\n <CheckIcon className=\"size-3.5\" />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n\n <div className=\"flex flex-col gap-1\">\n {label ? <Label htmlFor={props.id || value}>{label}</Label> : null}\n {subLabel ? (\n <Label\n htmlFor={props.id || value}\n className=\"text-element-inverse-gray! text-body-sm font-medium\"\n >\n {subLabel}\n </Label>\n ) : null}\n </div>\n </div>\n );\n}\n\nexport { Checkbox };\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"text-title-sm text-element-inverse-default flex items-center gap-2 leading-none font-semibold select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn, getInitials } from \"@/utils\";\nimport { Avatar } from \"@/ui/Avatar\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ntype IconContainerProps = {\n colorInFill?: boolean;\n disableTheme?: boolean;\n type?: \"static\";\n size?:\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"5xl\"\n | \"6xl\";\n className?: string;\n style?: React.CSSProperties;\n} & Omit<React.HTMLAttributes<HTMLDivElement>, \"children\">;\n\nconst chipVariants = cva(\n \"inline-flex items-center justify-center border py-unit-4px px-unit-8px text-body-sm font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-5 gap-1 focus-visible:ring-0 overflow-hidden\",\n {\n variants: {\n type: {\n rounded: \"rounded-full\",\n rectangle: \"rounded-unit-corner-radius-lg\",\n },\n color: {\n slate:\n \"border-stroke-inverse-slate-03 text-element-inverse-default bg-chip-slate-enabled hover:bg-chip-slate-hovered\",\n red: \"border-stroke-inverse-red-01 text-element-inverse-red bg-chip-red-enabled hover:bg-chip-red-hovered\",\n orange:\n \"border-stroke-inverse-orange-01 text-element-inverse-orange bg-chip-orange-enabled hover:bg-chip-orange-hovered\",\n amber:\n \"border-stroke-inverse-amber-01 text-element-inverse-amber bg-chip-amber-enabled hover:bg-chip-amber-hovered\",\n yellow:\n \"border-stroke-inverse-yellow-01 text-element-inverse-yellow bg-chip-yellow-enabled hover:bg-chip-yellow-hovered\",\n lime: \"border-stroke-inverse-lime-01 text-element-inverse-lime bg-chip-lime-enabled hover:bg-chip-lime-hovered\",\n green:\n \"border-stroke-inverse-green-01 text-element-inverse-green bg-chip-green-enabled hover:bg-chip-green-hovered\",\n emerald:\n \"border-stroke-inverse-emerald-01 text-element-inverse-emerald bg-chip-emerald-enabled hover:bg-chip-emerald-hovered\",\n teal: \"border-stroke-inverse-teal-01 text-element-inverse-teal bg-chip-teal-enabled hover:bg-chip-teal-hovered\",\n cyan: \"border-stroke-inverse-cyan-01 text-element-inverse-cyan bg-chip-cyan-enabled hover:bg-chip-cyan-hovered\",\n sky: \"border-stroke-inverse-sky-01 text-element-inverse-sky bg-chip-sky-enabled hover:bg-chip-sky-hovered\",\n blue: \"border-stroke-inverse-blue-01 text-element-inverse-blue bg-chip-blue-enabled hover:bg-chip-blue-hovered\",\n indigo:\n \"border-stroke-inverse-indigo-01 text-element-inverse-indigo bg-chip-indigo-enabled hover:bg-chip-indigo-hovered\",\n violet:\n \"border-stroke-inverse-violet-01 text-element-inverse-violet bg-chip-violet-enabled hover:bg-chip-violet-hovered\",\n purple:\n \"border-stroke-inverse-purple-01 text-element-inverse-purple bg-chip-purple-enabled hover:bg-chip-purple-hovered\",\n fuchsia:\n \"border-stroke-inverse-fuchsia-01 text-element-inverse-fuchsia bg-chip-fuchsia-enabled hover:bg-chip-fuchsia-hovered\",\n pink: \"border-stroke-inverse-pink-01 text-element-inverse-pink bg-chip-pink-enabled hover:bg-chip-pink-hovered\",\n rose: \"border-stroke-inverse-rose-01 text-element-inverse-rose bg-chip-rose-enabled hover:bg-chip-rose-hovered\",\n },\n },\n defaultVariants: {\n type: \"rounded\",\n color: \"slate\",\n },\n }\n);\n\n// Main component\nfunction Chip({\n type,\n color,\n dot = false,\n icon,\n avatar,\n closeBtn = false,\n label,\n className,\n children,\n iconContainerProps,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof chipVariants> & {\n dot?: boolean;\n icon?: React.ReactNode;\n avatar?: string;\n closeBtn?:\n | false\n | {\n onClick: (e: React.MouseEvent) => void;\n };\n label: string;\n iconContainerProps?: IconContainerProps;\n }) {\n return (\n <span\n data-slot=\"chip\"\n className={cn(\n chipVariants({ type, color }),\n \"cursor-default gap-1 px-2 py-1\",\n className,\n {\n \"pl-1.5\": dot || !!icon,\n \"pl-1\": !!avatar,\n }\n )}\n {...props}\n >\n {dot && <Dot color={color} className=\"size-2\" />}\n {icon && (\n <IconContainer\n colorInFill={false}\n className={cn(\n \"[&_path]:fill-(--iconColor)!\",\n iconContainerProps?.className\n )}\n style={\n {\n [\"--iconColor\"]:\n (color ?? \"slate\") === \"slate\"\n ? \"var(--color-element-inverse-default)\"\n : `var(--color-element-inverse-${color ?? \"slate\"})`,\n ...iconContainerProps?.style,\n } as React.CSSProperties & { [\"--iconColor\"]: string }\n }\n {...iconContainerProps}\n >\n {icon}\n </IconContainer>\n )}\n {avatar && (\n <Avatar\n variant=\"image\"\n size=\"xs\"\n imgsrc={avatar}\n fallback={getInitials(label)}\n tooltip={label}\n />\n )}\n {label && (\n <p className=\"leading-body-sm text-body-sm truncate font-medium\">\n {label}\n </p>\n )}\n {closeBtn && (\n <X\n size={20}\n className=\"cursor-pointer\"\n onClick={(e) => {\n if (!closeBtn) return;\n closeBtn.onClick(e);\n }}\n />\n )}\n {children}\n </span>\n );\n}\n\nexport { Chip, chipVariants };\n\n// Dot component\nconst dotVariants = cva(\"size-3 rounded-full p-0.5\", {\n variants: {\n color: {\n slate: \"bg-element-inverse-default\",\n red: \"bg-element-inverse-red\",\n orange: \"bg-element-inverse-orange\",\n amber: \"bg-element-inverse-amber\",\n yellow: \"bg-element-inverse-yellow\",\n lime: \"bg-element-inverse-lime\",\n green: \"bg-element-inverse-green\",\n emerald: \"bg-element-inverse-emerald\",\n teal: \"bg-element-inverse-teal\",\n cyan: \"bg-element-inverse-cyan\",\n sky: \"bg-element-inverse-sky\",\n blue: \"bg-element-inverse-blue\",\n indigo: \"bg-element-inverse-indigo\",\n violet: \"bg-element-inverse-violet\",\n purple: \"bg-element-inverse-purple\",\n fuchsia: \"bg-element-inverse-fuchsia\",\n pink: \"bg-element-inverse-pink\",\n rose: \"bg-element-inverse-rose\",\n },\n },\n defaultVariants: {\n color: \"slate\",\n },\n});\n\nfunction Dot({\n className,\n color,\n ...props\n}: VariantProps<typeof dotVariants> & { className?: string }) {\n return <div className={cn(dotVariants({ color }), className)} {...props} />;\n}\n","\"use client\";\n\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Check, ChevronsUpDown, SearchIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { useEffect } from \"react\";\nimport { Button } from \"@/ui/Button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/ui/Popover\";\n\ninterface Option {\n value: string;\n label: string;\n}\n\ninterface ComboboxProps {\n options: Option[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n}\n\nexport function Combobox({\n options,\n value,\n onChange,\n placeholder = \"Select...\",\n className,\n disabled = false,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [popoverWidth, setPopoverWidth] = React.useState<number>();\n\n useEffect(() => {\n if (open && triggerRef.current) {\n setPopoverWidth(triggerRef.current.offsetWidth);\n }\n }, [open]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n ref={triggerRef}\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n className={cn(\"w-full justify-between\", className)}\n disabled={disabled}\n >\n {value\n ? options.find((option) => option.value === value)?.label\n : placeholder}\n <ChevronsUpDown className=\"opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"p-0\"\n style={popoverWidth ? { width: popoverWidth } : undefined}\n >\n <Command>\n <CommandInput placeholder={placeholder} className=\"h-9\" />\n <CommandList>\n <CommandEmpty>No option found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={(currentValue) => {\n onChange(currentValue === value ? \"\" : currentValue);\n setOpen(false);\n }}\n >\n {option.label}\n <Check\n className={cn(\n \"ml-auto\",\n value === option.value ? \"opacity-100\" : \"opacity-0\",\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function Command({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div\n data-slot=\"command-input-wrapper\"\n className=\"border-input-border-primaryDefault flex h-9 items-center gap-2 border-b px-3\"\n >\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nexport function CommandList({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CommandEmpty({\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n );\n}\n\nexport function CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CommandItem({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n","import * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"glass-effect border-stroke-inverse-slate-02 text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 shadow-box z-[var(--z-popover)] min-w-24 max-w-72 origin-(--radix-popover-content-transform-origin) rounded-3xl border p-2 outline-hidden\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n","\"use client\";\n\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n );\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n );\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n );\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\n \"bg-surface-bg-container text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-border-primary-light z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n className={cn(\n \"bg-surface-bg-container text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-border-primary-light z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-3xl border p-2 shadow-md\",\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"bg-dropdown-bg-default hover:bg-dropdown-bg-hover focus:bg-dropdown-bg-hover text-text-default data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground text-body-sm relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 font-medium outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\"bg-border-primary-light -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n};\n","\"use client\";\n\nimport { format } from \"date-fns\";\nimport { CalendarDays } from \"lucide-react\";\nimport { ChevronDown } from \"magick-icons\";\nimport { cn } from \"@/utils\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/ui/Popover\";\nimport { Button } from \"@/ui/Button\";\nimport { Calendar } from \"@/ui/Calendar\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ninterface DatePickerInputProps extends React.ComponentProps<\"button\"> {\n date: Date | undefined;\n setDate: (date: Date | undefined) => void;\n placeholder?: string;\n /**\n * If true, disables all dates before today.\n */\n disablePast?: boolean;\n prefixNode?: React.ReactNode;\n /**\n * If true, shows a clear button when a date is selected.\n */\n withClearButton?: boolean;\n}\n\nexport function DatePickerInput({\n date,\n setDate,\n placeholder,\n disablePast = false,\n prefixNode,\n withClearButton = false,\n ...props\n}: DatePickerInputProps) {\n return (\n <div className=\"group relative\">\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant={\"outline\"}\n className={cn(\n \"border-stroke-inverse-slate-03 hover:border-stroke-static-slate-04 focus-visible:border-stroke-static-blue-03 active:border-stroke-static-blue-03 relative z-[2] w-full justify-start rounded-lg border\",\n \"disabled:bg-button-outline-disabled disabled:text-element-inverse-disabled disabled:border-stroke-inverse-slate-03 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-100\",\n \"aria-invalid:border-stroke-inverse-red-01 aria-invalid:text-text-destructive aria-invalid:hover:border-stroke-inverse-red-02 aria-invalid:focus-visible:ring-effect-ring-destructive aria-invalid:active:ring-effect-ring-destructive\"\n )}\n {...props}\n >\n {prefixNode || <CalendarDays size={20} />}\n <div className=\"max-w-[15ch] truncate\">\n {date ? (\n format(date, \"d MMM yyyy\")\n ) : (\n <span\n className={cn(\n !date &&\n \"text-element-inverse-disabled! text-body-sm leading-body-sm text-left font-medium\"\n )}\n >\n {placeholder}\n </span>\n )}\n </div>\n\n <IconContainer className=\"ml-auto\">\n <ChevronDown />\n </IconContainer>\n </Button>\n </PopoverTrigger>\n\n <PopoverContent\n className=\"border-stroke-inverse-slate-02 w-auto rounded-3xl p-0 shadow-md\"\n align=\"start\"\n >\n <Calendar\n mode=\"single\"\n selected={date}\n onSelect={setDate}\n initialFocus\n {...(disablePast ? { disabled: { before: new Date() } } : {})}\n />\n {withClearButton && date && (\n <div className=\"border-t border-stroke-inverse-slate-02 p-2\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"w-full\"\n onClick={(e) => {\n e.stopPropagation();\n setDate(undefined);\n }}\n >\n Clear all\n </Button>\n </div>\n )}\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n","import { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\nimport { getFileSize } from \"@/utils\";\nimport { Button } from \"@/ui/Button\";\nimport IconButton from \"@/ui/IconButton\";\nimport { ProgressIndicator } from \"@/ui/ProgressIndicator\";\n\ntype FileInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"type\" | \"onChange\"\n> & {\n label?: string;\n helperText?: string;\n error?: boolean;\n file?: File | null;\n isPending?: boolean; // Upload pending state from mutation\n onRemove?: () => void;\n onFileChange?: (file: File | null) => void;\n isUploaded?: boolean;\n accept?: string;\n multiple?: boolean;\n};\n\nexport const FileInput = ({\n label,\n helperText,\n error = false,\n file,\n isPending = false,\n onRemove,\n onFileChange,\n className,\n isUploaded = false,\n disabled,\n accept,\n multiple = false,\n id,\n ...props\n}: FileInputProps) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const [selectedFile, setSelectedFile] = React.useState<File | null>(\n file || null\n );\n const [animatedProgress, setAnimatedProgress] = React.useState(0);\n const animationRef = React.useRef<NodeJS.Timeout | null>(null);\n\n // Reset animated progress when file changes or is removed\n React.useEffect(() => {\n if (!selectedFile) {\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n }\n }, [selectedFile]);\n\n // Reset state when file prop changes\n React.useEffect(() => {\n if (!file) {\n // Reset all state when file is removed\n setSelectedFile(null);\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n return;\n }\n\n // This ensures we always have the latest file reference\n const fileId = `${file.name}-${file.size}-${file.lastModified}`;\n const currentFileId = selectedFile\n ? `${selectedFile.name}-${selectedFile.size}-${selectedFile.lastModified}`\n : null;\n\n // Only update if it's actually a different file\n if (fileId !== currentFileId) {\n // Reset all state for new file\n setSelectedFile(file);\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n } else if (selectedFile !== file) {\n // Same file but different reference - update the reference\n setSelectedFile(file);\n }\n }, [file, selectedFile]);\n\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files;\n if (!files || files.length === 0) {\n setSelectedFile(null);\n onFileChange?.(null);\n return;\n }\n\n const newFile = files[0];\n setSelectedFile(newFile);\n onFileChange?.(newFile);\n };\n\n const handleRemove = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n // Clear input first\n if (inputRef.current) {\n inputRef.current.value = \"\";\n }\n\n // Reset state immediately\n setSelectedFile(null);\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n\n // Call onRemove first to remove from parent state immediately\n // This prevents any race conditions\n onRemove?.();\n // Then call onFileChange to sync\n onFileChange?.(null);\n };\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n };\n }, []);\n\n const handleChooseFile = () => {\n inputRef.current?.click();\n };\n\n const fileSize = selectedFile ? getFileSize(selectedFile.size) : \"\";\n\n // Animate progress when pending\n React.useEffect(() => {\n // Clear any existing animation\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n\n if (isUploaded) {\n setAnimatedProgress(100);\n return;\n }\n\n if (!isPending) {\n setAnimatedProgress(0);\n return;\n }\n\n // Animate progress smoothly from 0 to 100% while pending\n const targetProgress = 100;\n const duration = 300; // 0.3 seconds to reach 90%\n const steps = 13; // 13 steps for smooth animation\n const stepDuration = duration / steps;\n const increment = targetProgress / steps;\n\n setAnimatedProgress(0);\n\n let currentProgress = 0;\n animationRef.current = setInterval(() => {\n currentProgress += increment;\n if (currentProgress >= targetProgress) {\n currentProgress = targetProgress;\n setAnimatedProgress(targetProgress);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n } else {\n setAnimatedProgress(currentProgress);\n }\n }, stepDuration);\n\n return () => {\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n };\n }, [isPending, isUploaded]);\n\n const progressPercentage = isUploaded ? 100 : animatedProgress;\n const isUploadingState = isPending && !isUploaded;\n\n const borderColor = error\n ? \"border-stroke-inverse-red-01 hover:border-stroke-inverse-red-02\"\n : isUploadingState\n ? \"border-stroke-static-blue-03\"\n : \"border-stroke-inverse-slate-03 hover:border-stroke-static-slate-04\";\n\n const bgColor = selectedFile\n ? \"bg-fill-inverse-slate-01\"\n : \"bg-input-outline-enabled hover:bg-input-outline-hovered\";\n\n return (\n <div className={cn(\"flex w-full flex-col gap-1\", className)}>\n {label && (\n <label\n htmlFor={id}\n className={cn(\n \"text-body-sm font-medium\",\n disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-default\"\n )}\n >\n {label}\n </label>\n )}\n\n {/* File Input Container */}\n <div\n className={cn(\n \"group rounded-unit-corner-radius-xl relative flex min-h-10 w-full items-center border transition-[color,box-shadow]\",\n borderColor,\n bgColor,\n {\n \"pointer-events-none cursor-not-allowed opacity-50\": disabled,\n \"focus-within:ring-1 focus-within:outline-none\": !disabled,\n \"focus-within:ring-effect-ring-destructive focus-within:border-stroke-inverse-red-02\":\n error && !disabled,\n \"focus-within:ring-effect-ring-primary focus-within:border-stroke-static-blue-03\":\n !error && !disabled && isUploadingState,\n }\n )}\n >\n <input\n ref={inputRef}\n type=\"file\"\n id={id}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n onChange={handleFileChange}\n className=\"hidden\"\n {...props}\n />\n\n {!selectedFile ? (\n /* Empty State - Choose File Button */\n <Button\n type=\"button\"\n onClick={handleChooseFile}\n disabled={disabled}\n variant=\"outline\"\n className={cn(\n \"h-full w-full justify-start gap-2 rounded-lg border-0 px-3 py-2 shadow-none\",\n error\n ? \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover\"\n : \"border-input-border-primaryDefault hover:border-input-border-primaryHover\"\n )}\n >\n <span className=\"w-[77px] font-semibold\">Choose file</span>\n <span className=\"text-element-inverse-disabled\">\n No file chosen\n </span>\n </Button>\n ) : (\n /* File Selected State */\n <div className=\"gap-x-unit-8px grid w-full grid-cols-4 px-3 py-2\">\n <div\n className={cn(\"gap-x-unit-10px col-span-3 flex items-center\", {\n \"col-span-2\": isUploadingState,\n \"cursor-pointer\": !disabled,\n })}\n onClick={!disabled ? handleChooseFile : undefined}\n role={!disabled ? \"button\" : undefined}\n tabIndex={!disabled ? 0 : undefined}\n onKeyDown={\n !disabled\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleChooseFile();\n }\n }\n : undefined\n }\n >\n {/* Choose file button (always visible) */}\n <p className=\"text-body-sm leading-body-sm text-element-inverse-default font-medium\">\n Selected\n </p>\n\n {/* File name */}\n <span\n className={cn(\n \"text-body-sm leading-body-sm min-w-0 max-w-[18ch] truncate flex-1 font-medium\",\n disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-default\"\n )}\n >\n {selectedFile.name}\n </span>\n </div>\n <div\n className={cn(\"col-span-1 flex items-center justify-end gap-2\", {\n \"col-span-2\": isUploadingState,\n })}\n >\n {/* File size */}\n <span\n className={cn(\n \"text-body-sm tracking-tight whitespace-nowrap\",\n disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-gray\"\n )}\n >\n {fileSize}\n </span>\n\n {/* Circular progress indicator */}\n {isUploadingState && (\n <ProgressIndicator\n variant=\"circle\"\n value={progressPercentage}\n />\n )}\n\n {/* Remove button */}\n {!disabled && onRemove && (\n <IconButton\n varient=\"ghost\"\n type=\"button\"\n onClick={handleRemove}\n aria-label=\"Remove file\"\n icon={<XIcon className=\"size-4\" />}\n />\n )}\n </div>\n </div>\n )}\n </div>\n\n {/* Helper Text */}\n {helperText && (\n <p\n className={cn(\n \"text-body-sm\",\n error\n ? \"text-element-inverse-red\"\n : disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-gray\"\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n );\n};\n","import { cn } from \"@/utils\";\nimport { cva } from \"class-variance-authority\";\nimport { Button, type ButtonProps } from \"@/ui/Button\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ntype IconButtonSize = \"xs\" | \"sm\" | \"md\" | \"lg\";\n\ninterface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon: React.ReactNode;\n disableTheme?: boolean;\n varient?: ButtonProps[\"variant\"];\n size?: IconButtonSize;\n active?: boolean;\n colorInFill?: boolean;\n rounded?: boolean;\n}\n\nconst iconButtonVariants = cva(\n \"cursor-pointer flex items-center justify-center disabled:pointer-events-none disabled:text-element-inverse-disabled\",\n {\n variants: {\n size: {\n xs: \"p-unit-4px rounded-unit-corner-radius-lg w-[26px] h-[26px]\",\n sm: \"p-unit-4px rounded-unit-corner-radius-lg w-7 h-7\",\n md: \"p-unit-10px rounded-unit-corner-radius-xl w-10 h-10\",\n lg: \"p-unit-12px rounded-unit-corner-radius-2xl w-12 h-12\",\n },\n active: {\n true: \"ring ring-offset-1 ring-stroke-inverse-blue-02! border border-stroke-inverse-slate-01 bg-menu-panel-selected-enabled \",\n },\n rounded: {\n true: \"!rounded-unit-corner-radius-rounded-full\",\n },\n },\n }\n);\n\nexport default function IconButton({\n icon,\n varient = \"primary\",\n size = \"sm\",\n rounded = false,\n active = false,\n className,\n colorInFill = true,\n disableTheme = false,\n ...props\n}: IconButtonProps) {\n const iconSize =\n size === \"xs\"\n ? \"xs\"\n : size === \"sm\"\n ? \"sm\"\n : size === \"md\"\n ? \"sm\"\n : size === \"lg\"\n ? \"md\"\n : \"md\";\n return (\n <Button\n type=\"button\"\n className={cn(iconButtonVariants({ size, rounded, active }), className)}\n variant={varient}\n {...props}\n >\n <IconContainer\n colorInFill={colorInFill}\n disableTheme={disableTheme}\n className={cn({\n // \"[&_path]:fill-element-inverse-disabled!\": props.disabled,\n })}\n size={iconSize}\n >\n {icon}\n </IconContainer>\n </Button>\n );\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\n\nconst progressIndicatorVariants = cva(\n \"transition-all duration-300 ease-in-out p-unit-2px\",\n {\n variants: {\n variant: {\n bar: \"relative w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700 h-4\",\n circle: \"relative inline-flex items-center justify-center w-16 h-16\",\n },\n },\n defaultVariants: {\n variant: \"bar\",\n },\n }\n);\n\nconst progressFillVariants = cva(\n \"transition-all duration-300 ease-in-out bg-blue-500\",\n {\n variants: {\n variant: {\n bar: \"h-full rounded-full\",\n circle: \"stroke-current stroke-linecap-round\",\n },\n },\n defaultVariants: {\n variant: \"bar\",\n },\n }\n);\n\nexport interface ProgressIndicatorProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof progressIndicatorVariants> {\n value: number;\n max?: number;\n showPercentage?: boolean;\n className?: string;\n}\n\nexport function ProgressIndicator({\n value,\n max = 100,\n showPercentage = true,\n className,\n variant,\n ...props\n}: ProgressIndicatorProps) {\n const percentage = Math.min(Math.max((value / max) * 100, 0), 100);\n\n if (variant === \"circle\") {\n const radius = 40; // Base radius for calculations\n const circumference = 2 * Math.PI * radius;\n const strokeDasharray = circumference;\n const strokeDashoffset = circumference - (percentage / 100) * circumference;\n\n return (\n <div className=\"flex h-5 w-[75px] items-center justify-start\">\n <div\n className={cn(progressIndicatorVariants({ variant }), className)}\n {...props}\n >\n <svg\n className=\"h-5 w-5 -rotate-90 transform\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n >\n {/* Background circle */}\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={20}\n className=\"text-element-inverse-disabled\"\n />\n {/* Progress circle */}\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={20}\n strokeDasharray={strokeDasharray}\n strokeDashoffset={strokeDashoffset}\n strokeLinecap=\"round\"\n className={cn(\n progressFillVariants({ variant }),\n \"text-element-static-blue\"\n )}\n />\n </svg>\n </div>\n\n {/* Percentage text to the right */}\n {showPercentage && (\n <span className=\"text-caption text-element-inverse-gray w-[50px] font-semibold\">\n {Math.round(percentage)}%\n </span>\n )}\n </div>\n );\n }\n\n // Bar variant\n return (\n <div className=\"w-full\">\n {/* Progress bar container */}\n <div className=\"flex items-center gap-3\">\n <div\n className={cn(\n progressIndicatorVariants({ variant }),\n \"flex-1\",\n className\n )}\n {...props}\n >\n <div\n className={cn(progressFillVariants({ variant }), className)}\n style={{ width: `${percentage}%` }}\n />\n </div>\n\n {/* Percentage text to the right */}\n {showPercentage && (\n <span className=\"text-caption text-element-inverse-gray font-semibold\">\n {Math.round(percentage)}%\n </span>\n )}\n </div>\n </div>\n );\n}\n","import { FilePlus, XIcon } from \"lucide-react\";\nimport { File } from \"magick-icons\";\nimport React, { createContext, useCallback, useContext, useState } from \"react\";\nimport { type FileRejection, useDropzone } from \"react-dropzone\";\nimport { truncateFileNameMid } from \"@/utils\";\nimport { Separator } from \"@radix-ui/react-separator\";\nimport { Button } from \"@/ui/Button\";\n\n// Constants\nconst FILE_SIZE_LIMIT_MB = 3; // 3MB\nconst DEFAULT_MAX_FILES = 10;\n\nconst ACCEPTED_FILE_TYPES: Record<string, string[]> = {\n \"application/pdf\": [\".pdf\"],\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": [\n \".docx\",\n ],\n \"application/msword\": [\".doc\"],\n \"image/*\": [\".png\", \".jpg\", \".jpeg\", \".gif\"],\n};\n\n// Context type\ninterface FileUploadContextType {\n errorMessage: string;\n isDragActive: boolean;\n isDragAccept: boolean;\n isDragReject: boolean;\n isFocused: boolean;\n getRootProps: any;\n getInputProps: any;\n handleRemoveFile: (fileName: string) => void;\n openFileDialog: () => void;\n showFileList?: boolean;\n acceptedFiles: File[];\n}\n\n// Create context\nconst FileUploadContext = createContext<FileUploadContextType | undefined>(\n undefined\n);\n\n// Context hook\nexport const useFileUpload = () => {\n const context = useContext(FileUploadContext);\n if (!context) {\n throw new Error(\"FileUpload components must be used within FileUpload\");\n }\n return context;\n};\n\n// Error message mapping\nconst getErrorMessage = (code: string, fileSizeLimit: number): string => {\n const errorMessages: Record<string, string> = {\n \"file-invalid-type\":\n \"Invalid file type. Only PDF, DOC, DOCX, and images are accepted.\",\n \"file-too-large\": `File size exceeds ${fileSizeLimit}MB limit.`,\n \"too-many-files\": \"Too many files selected.\",\n };\n return errorMessages[code] || \"An error occurred with the file upload.\";\n};\n\ninterface FileUploadProps {\n onDrop: (acceptedFiles: File[], rejectedFiles: FileRejection[]) => void;\n onDelete?: () => void;\n maxFiles?: number;\n isMultiple?: boolean;\n children: React.ReactNode;\n label?: string;\n CustomFileList?: React.ComponentType;\n fileSizeLimit?: number;\n acceptedFileTypes?: Record<string, string[]>;\n // Add react-hook-form props\n name?: string;\n value?: File[] | File;\n onChange?: (files: File[] | File | null) => void;\n onBlur?: () => void;\n disabled?: boolean;\n hasValidationError?: boolean;\n showFileList?: boolean;\n}\n\n// Main component\nconst FileUpload = ({\n onDrop,\n onDelete,\n maxFiles,\n isMultiple = false,\n children,\n label,\n CustomFileList,\n fileSizeLimit = FILE_SIZE_LIMIT_MB,\n acceptedFileTypes = ACCEPTED_FILE_TYPES,\n name,\n value,\n onChange,\n onBlur,\n disabled,\n hasValidationError,\n showFileList = false,\n}: FileUploadProps) => {\n const [errorMessage, setErrorMessage] = useState<string>(\"\");\n\n // Convert MB to bytes for useDropzone\n const fileSizeLimitInBytes =\n (fileSizeLimit ?? FILE_SIZE_LIMIT_MB) * 1024 * 1024;\n\n // Derive acceptedFiles from value prop (controlled mode)\n const acceptedFiles = React.useMemo(() => {\n if (value === undefined) {\n return [];\n }\n if (isMultiple) {\n return Array.isArray(value) ? value : [];\n }\n return value ? [value as File] : [];\n }, [value, isMultiple]);\n\n const handleRejectedFiles = useCallback(\n (rejectedFiles: FileRejection[]) => {\n if (rejectedFiles.length === 0) {\n setErrorMessage(\"\");\n return;\n }\n\n const error = rejectedFiles[0].errors[0];\n setErrorMessage(getErrorMessage(error.code, fileSizeLimit));\n },\n [fileSizeLimit]\n );\n\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n isFocused,\n open,\n } = useDropzone({\n onDrop: (accepted: File[], rejected: FileRejection[]) => {\n handleRejectedFiles(rejected);\n // Just pass the accepted files directly to parent - no internal state\n onDrop(accepted, rejected);\n\n // Call react-hook-form onChange if provided\n if (onChange) {\n if (isMultiple) {\n // For multiple, merge with existing value if provided\n const existingFiles = Array.isArray(value) ? value : [];\n const mergedFiles = [...existingFiles, ...accepted].filter(\n (file, index, self) =>\n index === self.findIndex((f) => f.name === file.name)\n );\n onChange(mergedFiles.length > 0 ? mergedFiles : null);\n } else {\n onChange(accepted.length > 0 ? accepted[0] : null);\n }\n }\n },\n accept: acceptedFileTypes,\n maxFiles: isMultiple ? maxFiles || DEFAULT_MAX_FILES : 1,\n maxSize: fileSizeLimitInBytes || FILE_SIZE_LIMIT_MB,\n noClick: false,\n disabled,\n });\n\n const handleRemoveFile = useCallback(\n (fileName: string) => {\n // Remove file from value prop (controlled mode)\n if (onChange) {\n if (isMultiple) {\n const existingFiles = Array.isArray(value) ? value : [];\n const updatedFiles = existingFiles.filter(\n (file) => file.name !== fileName\n );\n onChange(updatedFiles.length > 0 ? updatedFiles : null);\n } else {\n onChange(null);\n }\n }\n\n // Call onDrop with updated files for parent component\n const existingFiles = Array.isArray(value) ? value : [];\n const updatedFiles = existingFiles.filter(\n (file) => file.name !== fileName\n );\n onDrop(updatedFiles, []);\n onDelete?.();\n },\n [value, onDrop, onDelete, onChange, isMultiple]\n );\n\n return (\n <FileUploadContext.Provider\n value={{\n errorMessage:\n errorMessage || (hasValidationError ? \"This field is required\" : \"\"),\n isDragActive,\n isDragAccept,\n isDragReject,\n isFocused,\n getRootProps,\n getInputProps: () => ({\n ...getInputProps(),\n name,\n onBlur,\n \"aria-invalid\": hasValidationError || !!errorMessage,\n }),\n handleRemoveFile,\n openFileDialog: open,\n acceptedFiles,\n }}\n >\n <div className=\"relative w-full space-y-1\">\n <div className=\"flex flex-col gap-1\">\n <label htmlFor={name}>{label}</label>\n {children || <FileUpload.DropZone fileSizeLimit={fileSizeLimit} />}\n {CustomFileList ? (\n <CustomFileList />\n ) : showFileList ? (\n <FileUpload.FileList />\n ) : null}\n </div>\n <FileUpload.ErrorMessage />\n </div>\n </FileUploadContext.Provider>\n );\n};\n\n// Add new interface for render props\ninterface SimpleUploadRenderProps {\n acceptedFiles: File[];\n isFocused: boolean;\n openFileDialog: () => void;\n}\n\ninterface SimpleUploadProps {\n children?: React.ReactNode;\n className?: string;\n buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\n render?: (props: SimpleUploadRenderProps) => React.ReactNode;\n variant?: \"default\" | \"custom\";\n wrapperProps?: React.HTMLAttributes<HTMLDivElement>;\n}\n\nconst SimpleUpload = ({\n children,\n className,\n buttonProps,\n render,\n wrapperProps,\n}: SimpleUploadProps) => {\n const {\n openFileDialog,\n getInputProps,\n getRootProps,\n acceptedFiles,\n isFocused,\n errorMessage,\n } = useFileUpload();\n\n // Check if there's any error (validation or file upload error)\n const hasError = !!errorMessage;\n\n // If children are provided, render custom UI\n if (children) {\n return (\n <div className={className} onClick={openFileDialog} {...wrapperProps}>\n <input {...getInputProps()} />\n {children}\n </div>\n );\n }\n\n // If render prop is provided, render custom component\n if (render) {\n return (\n <div\n className={className}\n {...getRootProps()}\n onClick={(e) => {\n e.stopPropagation();\n openFileDialog();\n }}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n {typeof render === \"function\"\n ? render({\n acceptedFiles,\n isFocused,\n openFileDialog,\n })\n : render}\n </div>\n );\n }\n\n // Default button UI\n return (\n <div className={`flex items-center gap-2 ${className}`} {...wrapperProps}>\n <input {...getInputProps()} />\n\n <Button\n type=\"button\"\n onClick={openFileDialog}\n {...buttonProps}\n className={`${hasError ? \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover\" : \"border-input-border-primaryDefault hover:border-input-border-primaryHover\"} text-body-sm! flex w-full items-center justify-start gap-2 rounded-lg border px-3 py-2 shadow-none`}\n >\n <p className=\"text-element-inverse-default! w-[77px] font-semibold\">\n Choose file\n </p>\n <p className=\"text-element-inverse-disabled\">No file chosen</p>\n </Button>\n </div>\n );\n};\n\ninterface DropZoneRenderProps {\n isDragging: boolean;\n isDragAccept: boolean;\n isDragReject: boolean;\n acceptedFiles: File[];\n isFocused: boolean;\n openFileDialog: () => void;\n}\n\ninterface DropZoneProps {\n children?: React.ReactNode;\n className?: string;\n render?: (props: DropZoneRenderProps) => React.ReactNode;\n variant?: \"default\" | \"custom\";\n wrapperProps?: React.HTMLAttributes<HTMLDivElement>;\n fileSizeLimit?: number;\n}\n\n// Modify DropZone component\nconst DropZone = ({\n children,\n className,\n render,\n variant = \"default\",\n wrapperProps,\n // fileSizeLimit = FILE_SIZE_LIMIT_MB,\n}: DropZoneProps) => {\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n acceptedFiles,\n isFocused,\n openFileDialog,\n errorMessage,\n } = useFileUpload();\n\n // Check if there's any error (validation or file upload error)\n const hasError = !!errorMessage;\n\n // If children are provided, render custom UI\n if (children) {\n return (\n <div\n {...getRootProps()}\n className={`cursor-pointer ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n {children}\n </div>\n );\n }\n\n // If render prop is provided, use custom render function\n if (render) {\n return (\n <div\n {...getRootProps()}\n className={`cursor-pointer ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n {render({\n isDragging: isDragActive,\n isDragAccept,\n isDragReject,\n acceptedFiles,\n isFocused,\n openFileDialog,\n })}\n </div>\n );\n }\n\n // Custom variant\n if (variant === \"custom\") {\n return (\n <div\n {...getRootProps()}\n className={`cursor-pointer rounded-lg border-2 border-dashed p-8 transition-colors ${\n hasError\n ? \"border-input-border-destructiveHover\"\n : isDragActive\n ? \"border-primary bg-primary/5\"\n : \"hover:border-primary/50 border-gray-300\"\n } ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n <div className=\"space-y-4 text-center\">\n <div className=\"bg-primary/10 mx-auto w-fit rounded-full p-4\">\n <FilePlus className=\"text-primary size-8\" />\n </div>\n <div className=\"space-y-2\">\n <p className=\"text-xl font-medium\">\n {isDragActive ? \"Drop files here\" : \"Drag & Drop files\"}\n </p>\n <p className=\"text-muted-foreground text-sm\">\n or click to select files\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n // Default variant\n return (\n <div\n {...getRootProps()}\n className={`border-stroke-inverse-slate-04 rounded-unit-corner-radius-5xl cursor-pointer border border-dashed p-10 transition-colors focus:outline-none ${\n hasError\n ? \"border-input-border-destructiveHover\"\n : isDragActive\n ? \"border-blue-500 bg-gray-600\"\n : \"bg-fill-inverse-slate-03 hover:bg-fill-inverse-slate-04\"\n } ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n <div className=\"text-muted-foreground w-full space-y-5 text-center\">\n <File className=\"mx-auto size-[44px]\" />\n <p\n className={`text-body-sm leading-body-sm ${isDragActive ? \"text-gray-100\" : \"text-element-inverse-default\"}`}\n >\n {isDragActive ? \"Drop the file here...\" : \"Drag and Drop files here\"}\n </p>\n <div className=\"gap-unit-10px flex w-full items-center justify-center\">\n <Separator className=\"border-stroke-inverse-slate-03 max-w-[60px] flex-1\" />\n <p className=\"text-caption leading-caption text-element-inverse-disabled font-medium\">\n OR\n </p>\n <Separator className=\"border-stroke-inverse-slate-03 max-w-[60px] flex-1\" />\n </div>\n <Button\n type=\"button\"\n variant=\"secondary\"\n className=\"mx-auto\"\n onClick={(e) => {\n // Prevent the click from also triggering the dropzone root onClick,\n // which causes the file picker to open twice.\n e.stopPropagation();\n openFileDialog();\n }}\n >\n Browse file\n </Button>\n </div>\n </div>\n );\n};\n\nconst FileList = () => {\n const { acceptedFiles, handleRemoveFile } = useFileUpload();\n\n if (acceptedFiles.length === 0) return null;\n\n return (\n <ul className=\"mb-1 space-y-1\">\n {acceptedFiles.map((file) => (\n <li\n key={file.name}\n className=\"border-input-border-primaryDefault hover:border-input-border-primaryHover flex h-9 items-center justify-between rounded-lg border px-3 py-2\"\n >\n <div className=\"flex items-center gap-2\">\n <p className=\"text-text-default w-[77px] font-semibold\">Selected</p>\n <p>{truncateFileNameMid(file.name)}</p>\n <p className=\"text-caption text-text-inactive\">\n {file.size < 1024 * 1024\n ? `${(file.size / 1024).toFixed(2)}KB`\n : `${(file.size / 1024 / 1024).toFixed(2)}MB`}\n </p>\n </div>\n <button\n onClick={() => handleRemoveFile(file.name)}\n className=\"hover:bg-button-bg-outlineHover cursor-pointer rounded\"\n >\n <XIcon className=\"text-icon-default size-4\" />\n </button>\n </li>\n ))}\n </ul>\n );\n};\n\nconst ErrorMessage = () => {\n const { errorMessage } = useFileUpload();\n\n if (!errorMessage) return null;\n\n return <p className=\"text-text-destructive mt-2 text-sm\">{errorMessage}</p>;\n};\n\nFileUpload.DropZone = DropZone;\nFileUpload.SimpleUpload = SimpleUpload;\nFileUpload.FileList = FileList;\nFileUpload.ErrorMessage = ErrorMessage;\n\nexport { FileUpload };\n\nexport type FieldProps = {\n name: string;\n label?: string;\n isMultiple?: boolean;\n maxFiles?: number;\n children?: React.ReactNode;\n};\n\nexport const FileUploadField = ({\n field,\n CustomFileList,\n onChange,\n value,\n fileSizeLimit = FILE_SIZE_LIMIT_MB, // in MB\n acceptedFileTypes = ACCEPTED_FILE_TYPES,\n ...props\n}: {\n field: {\n name: string;\n isMultiple?: boolean;\n maxFiles?: number;\n children?: React.ReactNode;\n };\n CustomFileList?: React.ComponentType;\n onChange?: (files: File[] | File | null) => void;\n value?: File[] | File;\n fileSizeLimit?: number; // in MB\n acceptedFileTypes?: Record<string, string[]>;\n // Add react-hook-form field props\n name?: string;\n onBlur?: () => void;\n disabled?: boolean;\n hasValidationError?: boolean;\n} & Omit<React.ComponentProps<typeof FileUpload>, \"onDrop\" | \"children\">) => {\n return (\n <FileUpload\n onDrop={(acceptedFiles) => {\n if (onChange) {\n onChange(field.isMultiple ? acceptedFiles : acceptedFiles[0]);\n }\n }}\n isMultiple={field.isMultiple}\n maxFiles={field.maxFiles}\n CustomFileList={CustomFileList}\n fileSizeLimit={fileSizeLimit}\n acceptedFileTypes={acceptedFileTypes}\n value={value}\n onChange={onChange}\n hasValidationError={props.hasValidationError}\n {...props}\n >\n {field.children || (\n <FileUpload.DropZone fileSizeLimit={fileSizeLimit} />\n ) || <FileUpload.SimpleUpload />}\n </FileUpload>\n );\n};\n\nFileUploadField.SimpleUpload = SimpleUpload;\nFileUploadField.DropZone = DropZone;\nFileUploadField.FileList = FileList;\nFileUploadField.ErrorMessage = ErrorMessage;\n","import { cn } from \"@/utils\";\n\nexport interface GradientContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n}\n\nexport function GradientContainer(props: GradientContainerProps) {\n const { className, children, ...rest } = props;\n return (\n <div\n className={cn(\"gradient-bg flex px-[2.3px] py-[2px]\", className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n\nGradientContainer.Background = function GradientContainerBackground(\n props: React.HTMLAttributes<HTMLDivElement>,\n) {\n const { className, ...rest } = props;\n return (\n <div\n className={cn(\"bg-fill-background h-full w-full\", className)}\n {...rest}\n />\n );\n};\n","import { cn } from \"@/utils\";\n\ninterface GridProps extends React.ComponentProps<\"div\"> {\n children: React.ReactNode;\n}\nexport default function Grid({ children, className, ...props }: GridProps) {\n return (\n <div className={cn(\"grid grid-cols-3 gap-4\", className)} {...props}>\n {children}\n </div>\n );\n}\n","import { cn } from \"@/utils\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport IconContainer from \"@/ui/IconContainer\";\n\n// Helper function to convert hex to RGB\nfunction hexToRgb(hex: string): [number, number, number] {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result\n ? [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n ]\n : [0, 0, 0];\n}\n\n// Color map with hex values (from design tokens 500 shade)\nconst COLOR_MAP = {\n red: { hex: \"#ef4444\", class: \"element-static-red\" },\n orange: { hex: \"#f97316\", class: \"element-static-orange\" },\n amber: { hex: \"#f59e0b\", class: \"element-static-amber\" },\n yellow: { hex: \"#eab308\", class: \"element-static-yellow\" },\n lime: { hex: \"#84cc16\", class: \"element-static-lime\" },\n green: { hex: \"#22c55e\", class: \"element-static-green\" },\n emerald: { hex: \"#10b981\", class: \"element-static-emerald\" },\n teal: { hex: \"#14b8a6\", class: \"element-static-teal\" },\n cyan: { hex: \"#06b6d4\", class: \"element-static-cyan\" },\n sky: { hex: \"#0ea5e9\", class: \"element-static-sky\" },\n blue: { hex: \"#3b82f6\", class: \"element-static-blue\" },\n indigo: { hex: \"#6366f1\", class: \"element-static-indigo\" },\n violet: { hex: \"#8b5cf6\", class: \"element-static-violet\" },\n purple: { hex: \"#a855f7\", class: \"element-static-purple\" },\n fuchsia: { hex: \"#d946ef\", class: \"element-static-fuchsia\" },\n pink: { hex: \"#ec4899\", class: \"element-static-pink\" },\n rose: { hex: \"#f43f5e\", class: \"element-static-rose\" },\n slate: { hex: \"#64748b\", class: \"element-static-slate\" },\n} as const;\n\n// Size configuration map\nconst SIZE_CONFIG = {\n 26: { iconSize: \"xs\" as const, backgroundScale: 1.5, borderRadius: 10 },\n 32: { iconSize: \"sm\" as const, backgroundScale: 1.8, borderRadius: 12 },\n 40: { iconSize: \"lg\" as const, backgroundScale: 1.5, borderRadius: 16 },\n 48: { iconSize: \"xl\" as const, backgroundScale: 1.6, borderRadius: 20 },\n 56: { iconSize: \"2xl\" as const, backgroundScale: 1.7, borderRadius: 20 },\n 64: { iconSize: \"3xl\" as const, backgroundScale: 1.6, borderRadius: 24 },\n} as const;\n\ntype ColorVariant = keyof typeof COLOR_MAP;\ntype SizeVariant = keyof typeof SIZE_CONFIG;\n\nexport type IconProfileProps = {\n /** The icon component to display */\n icon: ReactNode;\n /** Color variant for background glow and icon */\n color?: ColorVariant;\n /** Size variant in pixels */\n size?: SizeVariant;\n /** Additional className for the root container */\n className?: string;\n /** Whether the icon is external */\n externalIcon?: boolean;\n};\n\nexport default function IconProfile({\n icon,\n color = \"red\",\n size = 64,\n className,\n externalIcon = false,\n}: IconProfileProps) {\n const colorConfig = COLOR_MAP[color];\n const sizeConfig = SIZE_CONFIG[size];\n const [r, g, b] = hexToRgb(colorConfig.hex);\n const colorClass = `text-${colorConfig.class}`;\n\n return (\n <div\n className={cn(\"relative\", colorClass, className)}\n style={\n {\n \"--icon-profile-color\": `var(--color-${colorConfig.class}, rgb(${r}, ${g}, ${b}))`,\n } as CSSProperties\n }\n >\n <div\n className=\"relative isolate flex items-center justify-center\"\n style={{ width: size, height: size }}\n >\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <div\n className=\"pointer-events-none absolute inset-0\"\n style={{\n borderRadius: `${sizeConfig.borderRadius}px`,\n background: `radial-gradient(circle at 50% 35%, rgba(${r}, ${g}, ${b}, 0.35) 0%, rgba(${r}, ${g}, ${b}, 0.22) 45%, rgba(${r}, ${g}, ${b}, 0) 80%)`,\n }}\n />\n <div\n className=\"pointer-events-none absolute inset-0\"\n style={{\n borderRadius: `${sizeConfig.borderRadius}px`,\n backgroundColor: `rgba(${r}, ${g}, ${b}, 0.2)`,\n transformOrigin: \"center center\",\n }}\n />\n </div>\n\n <div\n className=\"absolute inset-0\"\n style={{\n borderRadius: `${sizeConfig.borderRadius}px`,\n boxShadow:\n \"var(--unit-blur-none, 0) var(--unit-blur-xs, 16px) var(--unit-blur-md, 40px) var(--unit-blur-none, 0) var(--opacity-static-01, rgba(0, 0, 0, 0.08))\",\n backdropFilter: \"blur(calc(var(--unit-blur-xl, 72px) / 2))\",\n }}\n />\n\n <div className=\"absolute inset-0 z-10 flex items-center justify-center\">\n <IconContainer\n colorInFill={false}\n size={sizeConfig.iconSize}\n className={cn(\n !externalIcon ? \"[&_path]:!fill-[var(--iconColor)]\" : \"\",\n )}\n style={\n {\n [\"--iconColor\"]: `var(--color-${colorConfig.class})`,\n } as CSSProperties & { [\"--iconColor\"]: string }\n }\n >\n {icon}\n </IconContainer>\n </div>\n </div>\n </div>\n );\n}\n","import { CheckCheck, Copy, X } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\n\ntype Props = React.ComponentProps<\"input\"> & {\n label?: string;\n error?: boolean;\n variant?: \"ghost\" | \"outline\";\n inlineItemsNode?: React.ReactNode;\n prefixNode?: {\n node: React.ReactNode;\n withBorder?: boolean;\n className?: string;\n };\n suffixNode?: {\n node: React.ReactNode;\n withBorder?: boolean;\n className?: string;\n };\n includeCopy?: boolean;\n includeClear?: boolean;\n inputClassName?: string;\n};\n\nexport const Input = ({\n className,\n type = \"text\",\n label,\n variant = \"outline\",\n prefixNode,\n suffixNode,\n inlineItemsNode,\n includeCopy = false,\n includeClear = false,\n inputClassName,\n ...props\n}: Props) => {\n const [showCopy, setShowCopy] = React.useState(false);\n const [onFocus, setOnFocus] = React.useState(false);\n const [showClear, setShowClear] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const error = props[\"aria-invalid\"] || false;\n\n function handleClear(e: React.MouseEvent) {\n e.preventDefault();\n props.onChange?.({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n\n const mutatedProps: React.ComponentProps<\"input\"> = {\n ...props,\n onBlur: (e) => {\n if (props.disabled) return;\n props.onBlur && props.onBlur(e);\n setOnFocus(false);\n },\n };\n\n return (\n <div\n onMouseEnter={() => {\n if (props.disabled) return;\n setShowClear(true);\n if (!onFocus) {\n setShowCopy(true);\n }\n }}\n onMouseLeave={() => {\n if (props.disabled) return;\n setShowClear(false);\n setShowCopy(false);\n }}\n className={cn(\n \"group text-element-inverse-default placeholder:text-element-inverse-disabled relative flex min-h-10 w-full items-center\",\n \"rounded-unit-corner-radius-xl min-w-0 border transition-[color,box-shadow]\",\n {\n /* Outline State */\n \"hover:border-stroke-static-slate-04 border-stroke-inverse-slate-03 bg-input-outline-enabled hover:bg-input-outline-hovered\":\n variant === \"outline\" && !error,\n\n /* Outline On Focus */\n \"focus-within:hover:border-stroke-static-blue-03 focus-within:border-stroke-static-blue-03 focus-within:ring-0 focus-within:outline-none\":\n variant === \"outline\" && !error,\n\n /* Ghost State */\n \"hover:bg-input-ghost-hovered bg-input-ghost-enabled border-transparent\":\n variant === \"ghost\" && !error,\n\n /* Error State */\n \"border-stroke-inverse-red-01 hover:border-stroke-inverse-red-02 text-element-inverse-red\":\n error && !props.disabled,\n\n /* Error On Focus */\n // \"focus-within:border-input-border-destructiveHover focus-within:ring-effect-ring-destructive text-text-destructive focus-within:ring-2\":\n error,\n\n /* Disable State */\n \"text-element-inverse-disabled pointer-events-none cursor-not-allowed\":\n props.disabled,\n\n \"bg-input-outline-disabled border-stroke-inverse-slate-03\":\n props.disabled && variant === \"outline\",\n \"bg-input-ghost-disabled\": props.disabled && variant === \"ghost\",\n },\n className\n )}\n >\n {type === \"url\" && (\n <div className=\"border-border-primary-light flex h-full items-center justify-center border-r px-3\">\n <p className=\"text-body-sm leading-body-sm text-text-inactive font-medium\">\n https://\n </p>\n </div>\n )}\n\n {prefixNode && (\n <div\n className={cn(\n {\n \"border-border-primary-light hover:bg-surface-bg flex h-full cursor-pointer items-center justify-center overflow-x-auto rounded-l-lg border-r\":\n prefixNode.withBorder,\n \"pl-3\": !prefixNode.withBorder && !inlineItemsNode,\n },\n prefixNode.className\n )}\n >\n {prefixNode.node}\n </div>\n )}\n\n <div\n className={cn(\"relative h-full w-full\", {\n \"flex flex-wrap items-center\": inlineItemsNode,\n })}\n >\n {inlineItemsNode}\n <input\n ref={inputRef}\n type={type}\n id={props.id + (label || \"\")}\n onFocus={() => {\n if (props.disabled) return;\n setOnFocus(true);\n setShowCopy(false);\n }}\n data-slot=\"input\"\n className={cn(\n \"peer leading-body-sm text-medium text-body-sm flex h-full w-full appearance-none rounded-lg bg-transparent px-2.5 py-1.5 font-medium outline-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none\",\n \"selection:bg-primary-bg-light selection:text-text-default\",\n \"placeholder:text-body-sm placeholder:leading-body-sm placeholder:text-text-inactive placeholder:font-medium\",\n inputClassName,\n\n {\n \"rounded-l-none pl-2\": prefixNode,\n \"rounded-r-none pr-2\": suffixNode,\n \"text-text-secondary\": type === \"email\",\n \"text-text-destructive\": error,\n \"mx-1 inline-block h-auto w-full rounded-lg\": inlineItemsNode,\n }\n )}\n {...mutatedProps}\n value={props.value}\n />\n {props.value && (\n <div className=\"absolute top-0 right-2 flex h-full items-center gap-2 peer-disabled:hidden\">\n {includeCopy && (\n <button\n tabIndex={-1}\n data-showcopy={showCopy}\n className=\"hover:bg-primary-bg-soft flex h-[20px] w-[20px] items-center justify-center rounded-sm bg-white opacity-0 transition-opacity duration-200 data-[showCopy=true]:opacity-100\"\n >\n <CopyIcon value={props.value as string} />\n </button>\n )}\n\n {includeClear && (\n <button\n tabIndex={-1}\n data-showclear={showClear}\n className=\"hover:bg-primary-bg-soft flex h-[20px] w-[20px] items-center justify-center rounded-sm bg-white opacity-0 transition-opacity duration-200 data-[showClear=true]:opacity-100\"\n >\n <X\n onClick={(e) => {\n handleClear(e);\n }}\n className=\"cursor-pointer\"\n size={18}\n />\n </button>\n )}\n </div>\n )}\n </div>\n\n {suffixNode && (\n <div\n className={cn(\n {\n \"border-border-primary-light hover:bg-surface-bg flex h-full cursor-pointer items-center justify-center rounded-r-lg border-l\":\n suffixNode.withBorder,\n \"pr-3\": !suffixNode.withBorder,\n },\n suffixNode.className\n )}\n >\n {suffixNode.node}\n </div>\n )}\n </div>\n );\n};\n\nfunction CopyIcon({ value }: { value: string }) {\n const [isCopy, setIsCopy] = React.useState(false);\n\n function handleCopy(e: React.MouseEvent) {\n e.preventDefault();\n try {\n navigator.clipboard.writeText(value as string);\n setIsCopy(true);\n\n setTimeout(() => {\n setIsCopy(false);\n }, 1200);\n } catch (error) {\n setIsCopy(false);\n console.error(error);\n }\n }\n\n return (\n <>\n {!isCopy ? (\n <Copy className=\"cursor-pointer\" onClick={handleCopy} size={18} />\n ) : (\n <CheckCheck className=\"cursor-pointer\" size={18} />\n )}\n </>\n );\n}\n","import { cn } from \"@/utils\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ninterface LinkButtonProps extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n \"prefix\" | \"suffix\"\n> {\n children: React.ReactNode;\n href: string;\n isLink?: boolean;\n prefixIcon?: React.ReactNode;\n suffixIcon?: React.ReactNode;\n}\n\nexport default function LinkButton({\n children,\n href,\n isLink = true,\n prefixIcon,\n suffixIcon,\n className,\n ...props\n}: LinkButtonProps) {\n const onClickInternalLink = () => {\n window.open(href, \"_blank\");\n };\n\n return (\n <button\n aria-label={`Open ${href}`}\n role=\"link\"\n type=\"button\"\n className={cn(\n \"text-body-sm text-element-inverse-blue [&>path]:fill-element-inverse-blue gap-x-unit-4px leading-body-sm flex cursor-pointer items-center font-medium underline hover:underline\",\n className,\n )}\n onClick={isLink ? onClickInternalLink : props.onClick}\n {...props}\n >\n {prefixIcon && (\n <IconContainer className=\"[&_path]:fill-element-inverse-blue shrink-0\">\n {prefixIcon}\n </IconContainer>\n )}\n <div className=\"inherit\">{children}</div>\n {suffixIcon && (\n <IconContainer className=\"[&_path]:fill-element-inverse-blue shrink-0\">\n {suffixIcon}\n </IconContainer>\n )}\n </button>\n );\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Pause, Play } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport IconButton from \"@/ui/IconButton\";\n\nexport interface MediaProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof mediaVariants> {\n src: string;\n alt?: string;\n type?: \"image\" | \"video\";\n aspectRatio?: \"1:1\" | \"16:9\" | \"9:16\" | \"4:3\" | \"3:4\";\n showPlayButton?: boolean;\n onPlay?: () => void;\n onPause?: () => void;\n isPlaying?: boolean;\n loading?: \"lazy\" | \"eager\";\n objectFit?: \"cover\" | \"contain\" | \"fill\" | \"scale-down\" | \"none\";\n}\n\nconst mediaVariants = cva(\n \"relative overflow-hidden bg-gray-100 dark:bg-gray-800\",\n {\n variants: {\n aspectRatio: {\n \"1:1\": \"aspect-square\",\n \"16:9\": \"aspect-video\",\n \"9:16\": \"aspect-[9/16]\",\n \"4:3\": \"aspect-[4/3]\",\n \"3:4\": \"aspect-[3/4]\",\n },\n rounded: {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n \"2xl\": \"rounded-2xl\",\n full: \"rounded-full\",\n },\n },\n defaultVariants: {\n aspectRatio: \"16:9\",\n rounded: \"md\",\n },\n },\n);\n\nconst Media = React.forwardRef<HTMLDivElement, MediaProps>(\n (\n {\n className,\n src,\n alt = \"\",\n type = \"image\",\n aspectRatio,\n showPlayButton = true,\n onPlay,\n onPause,\n isPlaying = false,\n loading = \"lazy\",\n objectFit = \"cover\",\n rounded,\n ...props\n },\n ref,\n ) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [imageLoaded, setImageLoaded] = React.useState(false);\n const [imageError, setImageError] = React.useState(false);\n const [videoPlaying, setVideoPlaying] = React.useState(false);\n const videoRef = React.useRef<HTMLVideoElement>(null);\n\n const handlePlay = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (videoRef.current) {\n videoRef.current.play();\n setVideoPlaying(true);\n }\n if (onPlay) {\n onPlay();\n }\n };\n\n const handlePause = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (videoRef.current) {\n videoRef.current.pause();\n setVideoPlaying(false);\n }\n if (onPause) {\n onPause();\n }\n };\n\n const handleVideoPlay = () => {\n setVideoPlaying(true);\n if (onPlay) {\n onPlay();\n }\n };\n\n const handleVideoPause = () => {\n setVideoPlaying(false);\n if (onPause) {\n onPause();\n }\n };\n\n // Sync external isPlaying prop with internal state\n React.useEffect(() => {\n if (type === \"video\" && videoRef.current) {\n if (isPlaying && videoRef.current.paused) {\n videoRef.current.play();\n } else if (!isPlaying && !videoRef.current.paused) {\n videoRef.current.pause();\n }\n }\n }, [isPlaying, type]);\n\n const handleImageLoad = () => {\n setImageLoaded(true);\n };\n\n const handleImageError = () => {\n setImageError(true);\n };\n\n return (\n <div\n ref={ref}\n className={cn(mediaVariants({ aspectRatio, rounded }), className)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n {...props}\n >\n {type === \"image\" ? (\n <>\n <img\n src={src}\n alt={alt}\n loading={loading}\n onLoad={handleImageLoad}\n onError={handleImageError}\n className={cn(\n \"block h-full w-full transition-opacity duration-300\",\n {\n \"opacity-0\": !imageLoaded && !imageError,\n \"opacity-100\": imageLoaded,\n },\n )}\n style={{ objectFit }}\n />\n {!imageLoaded && !imageError && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600\"></div>\n </div>\n )}\n {imageError && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700\">\n <div className=\"text-center text-gray-500\">\n <div className=\"text-2xl\">📷</div>\n <div className=\"text-sm\">Failed to load</div>\n </div>\n </div>\n )}\n </>\n ) : (\n <>\n <video\n ref={videoRef}\n src={src}\n className=\"block h-full w-full\"\n style={{ objectFit }}\n onPlay={handleVideoPlay}\n onPause={handleVideoPause}\n onEnded={() => setVideoPlaying(false)}\n preload=\"metadata\"\n />\n {showPlayButton && (\n <div\n className={cn(\n \"absolute inset-0 flex items-center justify-center bg-black/20 transition-all duration-200 hover:bg-black/30\",\n {\n \"opacity-100\": isHovered || videoPlaying,\n \"opacity-0\": !isHovered && !videoPlaying,\n },\n )}\n >\n <IconButton\n icon={\n videoPlaying ? (\n <Pause className=\"text-gray-900\" />\n ) : (\n <Play className=\"ml-1 text-gray-900\" />\n )\n }\n onClick={videoPlaying ? handlePause : handlePlay}\n varient=\"outline\"\n size=\"md\"\n rounded={true}\n aria-label={videoPlaying ? \"Pause video\" : \"Play video\"}\n className=\"!h-16 !w-16 !bg-white !shadow-lg transition-all duration-200 hover:!scale-110 hover:!shadow-xl\"\n />\n </div>\n )}\n </>\n )}\n </div>\n );\n },\n);\n\nMedia.displayName = \"Media\";\n\nexport { Media, mediaVariants };\n","import { cn } from \"@/utils\";\nimport { ChevronDown, CircleXIcon, X } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"@/ui/Button\";\nimport { Chip } from \"@/ui/Chip\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/ui/Popover\";\n\nexport interface Option {\n label: string;\n value: string;\n}\n\ninterface MultiSelectProps {\n options: Option[];\n selected: string[];\n onChange: (selected: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n createConfig?: {\n enabled: boolean;\n action: (inputValue: string) => Promise<void>;\n isLoading?: boolean;\n };\n className?: string;\n error?: boolean;\n}\n\nexport function MultiSelect({\n options,\n selected,\n onChange,\n placeholder = \"Select\",\n disabled = false,\n createConfig,\n className,\n error = false,\n}: MultiSelectProps) {\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(\"\");\n const inputRef = React.useRef<HTMLInputElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n const handleUnselect = (value: string) => {\n onChange(selected.filter((s) => s !== value));\n };\n\n const handleSelect = (value: string) => {\n if (!selected.includes(value)) {\n onChange([...selected, value]);\n }\n setInputValue(\"\");\n setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleCreate = async () => {\n if (\n inputValue.trim() &&\n !options.find(\n (option) =>\n option.value.toLowerCase() === inputValue.toLowerCase().trim(),\n )\n ) {\n try {\n await createConfig?.action?.(inputValue.trim());\n onChange([...selected, inputValue.trim()]);\n setInputValue(\"\");\n setTimeout(() => inputRef.current?.focus(), 0);\n } catch (error) {\n console.error(\"Failed to create item:\", error);\n }\n }\n };\n\n const handleKeyDown = async (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" && inputValue.trim()) {\n e.preventDefault();\n const existingOption = options.find(\n (option) =>\n option.label.toLowerCase() === inputValue.toLowerCase().trim(),\n );\n if (existingOption && !selected.includes(existingOption.value)) {\n handleSelect(existingOption.value);\n } else if (createConfig?.enabled) {\n await handleCreate();\n }\n } else if (e.key === \"Backspace\" && !inputValue && selected.length > 0) {\n e.preventDefault();\n handleUnselect(selected[selected.length - 1]);\n } else if (e.key === \"Escape\") {\n setOpen(false);\n inputRef.current?.blur();\n }\n };\n\n const filteredOptions = React.useMemo(() => {\n return options.filter(\n (option) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase()) &&\n !selected.includes(option.value),\n );\n }, [options, inputValue, selected]);\n\n const canCreate =\n createConfig?.enabled &&\n inputValue.trim() &&\n !options.find(\n (option) =>\n option.value.toLowerCase() === inputValue.toLowerCase().trim(),\n ) &&\n !selected.includes(inputValue.trim());\n\n const handleInputFocus = () => {\n setOpen(true);\n };\n\n const handleContainerClick = (e: React.MouseEvent) => {\n e.preventDefault();\n inputRef.current?.focus();\n };\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div\n ref={containerRef}\n className={cn(\n \"border-input-border-primaryDefault text-text-default bg-input-bg-default text-body-sm hover:border-input-border-primaryHover flex min-h-9 w-full cursor-text items-center justify-between gap-1 rounded-lg border px-3 py-1 font-medium focus-within:[box-shadow:var(--ring-position-x,0px)_var(--ring-position-y,0px)_var(--ring-blur,0px)_var(--ring-spread-sm,1px)_var(--color-effect-ring-primary)]\",\n error &&\n \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover focus-within:[box-shadow:var(--ring-position-x,0px)_var(--ring-position-y,0px)_var(--ring-blur,0px)_var(--ring-spread-sm,2px)_var(--color-effect-ring-destructive)]\",\n disabled &&\n \"bg-input-bg-inactive hover:border-input-border-primaryDefault text-text-inactive cursor-not-allowed\",\n className,\n )}\n onClick={handleContainerClick}\n >\n <div className=\"flex flex-1 flex-wrap items-center gap-1\">\n {selected.map((value) => {\n const option = options.find((opt) => opt.value === value);\n return (\n <Chip\n key={value}\n label={option?.label || value}\n onClick={(e) => {\n e.stopPropagation();\n handleUnselect(value);\n }}\n className={cn(\n disabled && \"pointer-events-none cursor-not-allowed\",\n )}\n >\n <X className=\"hover:text-destructive ml-1.5 h-3 w-3 cursor-pointer\" />\n </Chip>\n );\n })}\n <input\n ref={inputRef}\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={handleInputFocus}\n placeholder={\n selected.length === 0\n ? createConfig?.enabled\n ? \"Select or create one\"\n : placeholder\n : \"\"\n }\n className=\"placeholder:text-muted-foreground min-w-[8rem] flex-1 bg-transparent outline-none\"\n disabled={disabled}\n />\n </div>\n {selected.length > 0 && (\n <CircleXIcon\n className=\"text-icon-default size-4.5 shrink-0\"\n onClick={() => onChange([])}\n />\n )}\n {!createConfig?.enabled && (\n <ChevronDown className=\"text-icon-default size-4.5 shrink-0\" />\n )}\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"shadow-box w-[var(--radix-popover-trigger-width)] border-none bg-white p-2\"\n align=\"start\"\n >\n <div className=\"p-0\">\n <div className=\"max-h-[300px] overflow-y-auto\">\n {filteredOptions.length === 0 && !canCreate ? (\n <div className=\"py-6 text-center text-gray-500\">\n {inputValue ? \"No results found.\" : \"Start typing to search...\"}\n </div>\n ) : (\n <div className=\"flex flex-col gap-1.5 px-1.5 pt-1.5 pb-0.5\">\n {createConfig?.enabled && (\n <p className=\"text-text-default pb-0.5 font-semibold\">\n Select or create one\n </p>\n )}\n {filteredOptions.map((option) => (\n <Chip\n label={option.label}\n key={option.value}\n onClick={() => handleSelect(option.value)}\n className=\"rounded-md\"\n />\n ))}\n {canCreate && (\n <div\n onClick={async () => await handleCreate()}\n className=\"flex items-center justify-between\"\n >\n <Chip label={inputValue.trim()} className=\"rounded-md\" />\n <Button\n variant=\"ghost\"\n size=\"sm\"\n state={createConfig?.isLoading ? \"loading\" : \"default\"}\n >\n Create new\n </Button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n","import { cn } from \"@/utils\";\nimport {\n OTPInput as BaseOTPInput,\n OTPInputContext as BaseOTPInputContext,\n} from \"input-otp\";\nimport * as React from \"react\";\n\ntype OTPInputProps = Omit<\n React.ComponentProps<typeof InputOTP>,\n \"type\" | \"render\"\n> & {\n type?: 4 | 6 | 8;\n separate?: boolean;\n disabled?: boolean;\n className?: string;\n};\n\nexport function OTPInput({\n type = 4,\n separate = false,\n disabled = false,\n className,\n ...props\n}: OTPInputProps) {\n return (\n <div className={cn(className)}>\n <InputOTP disabled={disabled} className=\"w-full\" {...props}>\n <InputOTPGroup className=\"w-full\">\n {[...new Array(type / 2)].map((_, index) => (\n <InputOTPSlot\n className=\"w-full\"\n key={index}\n index={index}\n disabled={disabled}\n />\n ))}\n </InputOTPGroup>\n {separate && <InputOTPSeparator />}\n <InputOTPGroup className=\"w-full\">\n {[...new Array(type / 2)].map((_, index) => (\n <InputOTPSlot\n key={index}\n className=\"w-full\"\n index={index + type / 2}\n disabled={disabled}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n </div>\n );\n}\n\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof BaseOTPInput> & {\n containerClassName?: string;\n}) {\n return (\n <BaseOTPInput\n data-slot=\"input-otp\"\n containerClassName={cn(\"flex items-center gap-1\", containerClassName)}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n );\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\"flex items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction InputOTPSlot({\n index,\n className,\n disabled = false,\n placeholder = \"0\",\n ...props\n}: React.ComponentProps<\"div\"> & {\n index: number;\n disabled?: boolean;\n placeholder?: string;\n}) {\n const inputOTPContext = React.useContext(BaseOTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n \"text-text-default data-[active=true]:border-input-border-primaryHover border-input-border-primaryDefault data-[active=true]:ring-effect-ring-primary data-[active=true]:aria-invalid:ring-destructive/20 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive relative flex size-11 items-center justify-center rounded-2xl border font-bold transition-all outline-none data-[active=true]:z-10 data-[active=true]:ring-[2px]\",\n className,\n {\n \"bg-input-bg-inactive\": disabled,\n \"text-text-inactive\": !char,\n },\n )}\n {...props}\n >\n <span className=\"text-h6\">{char || placeholder}</span>\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"input-otp-separator\" role=\"separator\" {...props}>\n <div className=\"bg-border-primary-normal h-0.5 w-2\" />\n </div>\n );\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Eye, EyeOff } from \"lucide-react\";\n\ntype Props = React.ComponentProps<\"input\"> & {\n label?: string;\n};\n\nexport const PasswordInput = React.memo(\n ({ type, label, className, ...props }: Props) => {\n const [showPassword, setShowPassword] = React.useState(false);\n\n const error = props[\"aria-invalid\"] || false;\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n return (\n <div\n className={cn(\n \"group relative flex items-center gap-2\",\n \"min-w-0 rounded-lg border transition-[color,box-shadow]\",\n {\n /* Default State */\n \"hover:border-input-border-primaryHover border-input-border-primaryDefault\":\n !error,\n\n /* Default On Focus */\n \"focus-within:ring-effect-ring-primary focus-within:border-input-border-primaryHover focus-within:ring-2 focus-within:outline-none\":\n !error,\n\n /* Error State */\n \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover text-text-destructive\":\n error && !props.disabled,\n\n /* Error On Focus */\n \"focus-within:border-input-border-destructiveHover focus-within:ring-effect-ring-destructive text-text-destructive focus-within:ring-2\":\n error,\n\n /* Disable State */\n \"bg-input-bg-inactive text-text-inactive border-input-border-primaryDefault pointer-events-none cursor-not-allowed\":\n props.disabled,\n },\n )}\n >\n <input\n ref={inputRef}\n id={props.id + (label || \"\")}\n type={showPassword ? \"text\" : \"password\"}\n data-slot=\"input\"\n className={cn(\n \"leading-body-sm text-text-default md:text-body-sm flex h-full w-full rounded-lg bg-transparent py-2 pr-10 pl-3 text-sm font-medium outline-none\",\n \"selection:bg-primary selection:text-primary-foreground\",\n \"placeholder:text-body-sm placeholder:leading-body-sm placeholder:text-text-inactive placeholder:font-medium\",\n {\n \"text-text-destructive\": error,\n },\n className,\n )}\n {...props}\n value={props.value}\n onBlur={(e) => {\n if (props.disabled) return;\n props.onBlur?.(e);\n }}\n />\n <button\n tabIndex={-1}\n data-slot=\"show-password\"\n type=\"button\"\n onClick={() => setShowPassword(!showPassword)}\n aria-label={showPassword ? \"Hide password\" : \"Show password\"}\n className=\"hover:bg-primary-bg-soft absolute right-2 flex h-5 w-5 cursor-pointer items-center justify-center rounded-sm bg-white\"\n >\n {showPassword ? (\n <Eye size={16} className=\"text-element-inverse-default-alt\" />\n ) : (\n <EyeOff size={16} className=\"text-element-inverse-default-alt\" />\n )}\n </button>\n </div>\n );\n },\n);\n","import { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\nimport type { RadioGroupProps } from \"@radix-ui/react-radio-group\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { CircleIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\ntype Option = {\n label: string | React.ReactNode;\n value: string;\n};\n\ninterface RadioProps extends Omit<\n React.ComponentProps<\n React.ForwardRefExoticComponent<\n RadioGroupProps & React.RefAttributes<HTMLDivElement>\n >\n >,\n \"onChange\" | \"onSelect\"\n> {\n onSelect?: (value: string) => void;\n options: Option[];\n}\n\nfunction Radio({ onSelect, options, ...props }: RadioProps) {\n return (\n <BaseRadioGroup {...props}>\n {options.map((option) => {\n return (\n <Label\n htmlFor={option.value}\n key={option.value}\n className=\"hover:bg-surface-bg flex cursor-pointer items-center gap-x-2 rounded-lg p-1.5\"\n >\n <BaseRadioGroupItem\n onClick={() => {\n onSelect?.(option.value.toString());\n }}\n id={option.value}\n value={option.value}\n />\n {option.label}\n </Label>\n );\n })}\n </BaseRadioGroup>\n );\n}\n\nexport { Radio };\n\nfunction BaseRadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={className}\n {...props}\n />\n );\n}\n\nfunction BaseRadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-border-primary-light group data-[state=checked]:border-border-secondary-normal data-[state=checked]:hover:border-border-secondary-dark bg-surface-bg-container hover:bg-primary-bg-soft text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-[20px] shrink-0 cursor-pointer rounded-full border-[2px] shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-check-box-and-radio-checked-enabled group-data-[state=checked]:hover:fill-check-box-and-radio-checked-hovered absolute top-1/2 left-1/2 size-[16px] -translate-x-1/2 -translate-y-1/2 stroke-none\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n","import { cn } from \"@/utils\";\nimport { Input } from \"@/ui/Input\";\nimport { debounce } from \"lodash\";\nimport { SearchIcon } from \"lucide-react\";\nimport { useQueryState } from \"nuqs\";\nimport { useCallback, useEffect, useState } from \"react\";\n\ninterface SearchInputProps extends React.ComponentProps<typeof Input> {\n searchKey: string;\n placeholder?: string;\n debounceDelay?: number;\n className?: string;\n addToParam?: boolean;\n}\n\nexport function SearchInput({\n searchKey,\n placeholder = \"Search by...\",\n debounceDelay = 500,\n className,\n addToParam = true,\n ...props\n}: SearchInputProps) {\n const [search, setSearch] = useQueryState(searchKey, {\n defaultValue: \"\",\n });\n const [inputValue, setInputValue] = useState(search ?? \"\");\n\n const debouncedSetValue = useCallback(\n debounce((value: string | null) => {\n if (addToParam) {\n setSearch(value);\n } else {\n setInputValue(value ?? \"\");\n }\n }, debounceDelay),\n [debounceDelay, addToParam, setSearch],\n );\n\n useEffect(() => {\n debouncedSetValue(inputValue);\n return () => {\n debouncedSetValue.cancel();\n };\n }, [inputValue, debouncedSetValue]);\n\n return (\n <div className={cn(\"relative\", className)}>\n <Input\n onChange={(e) => {\n const value = e.target.value;\n setInputValue(value);\n }}\n placeholder={placeholder}\n prefixNode={{\n node: <SearchIcon className=\"text-element-inverse-default\" />,\n withBorder: false,\n }}\n value={inputValue}\n className={cn(\"border-stroke-inverse-slate-03 w-full\", className)}\n {...props}\n />\n </div>\n );\n}\n","\"use client\";\n\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/ui/Popover\";\nimport { cn } from \"@/utils\";\nimport { Check } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"@/ui/Button\";\n\ninterface SelectHoverProps {\n options: { label: string | React.ReactNode; value: string }[];\n placeholder?: string;\n value?: string;\n onChange?: (value: string) => void;\n className?: string;\n}\n\nexport function SelectHover({\n options,\n placeholder = \"Select an option\",\n value,\n onChange,\n className,\n}: SelectHoverProps) {\n const [isOpen, setIsOpen] = React.useState(false);\n const timeoutRef = React.useRef<NodeJS.Timeout | null>(null);\n\n const handleSelect = (optionValue: string) => {\n onChange?.(optionValue);\n setIsOpen(false);\n };\n\n const selectedOption = options.find((option) => option.value === value);\n\n const handleMouseEnter = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setIsOpen(true);\n };\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setIsOpen(false);\n }, 300);\n };\n\n return (\n <Popover open={isOpen} onOpenChange={setIsOpen}>\n <div onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n <PopoverTrigger asChild>\n <Button role=\"combobox\" aria-expanded={isOpen} className={className}>\n <span className=\"truncate\">\n {selectedOption ? selectedOption.label : placeholder}\n </span>\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"bg-surface-bg-container w-full rounded-3xl border-none p-2 shadow-md\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"flex max-h-[300px] flex-col items-start gap-[2px] overflow-auto\">\n {options.map((option) => (\n <button\n key={option.value}\n className={cn(\n \"hover:bg-dropdown-bg-hover text-body-sm relative flex w-full cursor-pointer items-center rounded-lg p-[6px] outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n value === option.value && \"bg-dropdown-bg-hover\",\n )}\n onClick={() => handleSelect(option.value)}\n >\n <span className=\"flex-1\">{option.label}</span>\n {value === option.value && (\n <Check className=\"text-icon-secondary ml-2 h-4 w-4\" />\n )}\n </button>\n ))}\n </div>\n </PopoverContent>\n </div>\n </Popover>\n );\n}\n","import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\ntype SelectRootProps = React.ComponentProps<typeof SelectPrimitive.Root> &\n Omit<React.HTMLAttributes<HTMLSelectElement>, \"onChange\">;\n\ninterface Props extends SelectRootProps {\n defaultValue: string | undefined;\n options: readonly {\n label: string;\n value: string;\n icon?: React.ReactNode;\n }[];\n onChange?: (value: string | undefined) => void;\n variant?: \"outline\" | \"ghost\";\n placeholder?: string;\n className?: string;\n withArrow?: boolean;\n contentProps?: React.ComponentProps<typeof SelectPrimitive.Content>;\n itemProps?: Omit<React.ComponentProps<typeof SelectPrimitive.Item>, \"value\">;\n}\n\nfunction SelectInput({\n defaultValue,\n options,\n variant = \"outline\",\n onChange,\n placeholder,\n className,\n withArrow = true,\n contentProps,\n itemProps,\n ...props\n}: Props) {\n return (\n <BaseSelect onValueChange={onChange} defaultValue={defaultValue} {...props}>\n <BaseSelectTrigger\n withArrow={withArrow}\n id={props.id}\n aria-invalid={props[\"aria-invalid\"]}\n className={cn(\"w-full cursor-pointer\", className)}\n variant={variant}\n >\n <BaseSelectValue\n className=\"flex-1\"\n placeholder={placeholder || \"Select\"}\n />\n </BaseSelectTrigger>\n <BaseSelectContent\n {...contentProps}\n className={cn(\n \"border-stroke-inverse-slate-02 border\",\n contentProps?.className\n )}\n >\n {options.map((option) => (\n <BaseSelectItem\n key={option.value}\n value={option.value}\n className={cn(itemProps?.className)}\n {...itemProps}\n >\n {option.icon}\n {option.label}\n </BaseSelectItem>\n ))}\n </BaseSelectContent>\n </BaseSelect>\n );\n}\n\nfunction BaseSelect({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction BaseSelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction BaseSelectTrigger({\n className,\n withArrow = true,\n size = \"default\",\n variant = \"outline\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n variant?: \"outline\" | \"ghost\";\n withArrow?: boolean;\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"focus-visible:border-stroke-inverse-blue-02 focus-visible:bg-navigation-selected active:bg-navigation-selected active:border-stroke-inverse-blue-02 hover:bg-navigation-hovered cursor-pointer border border-transparent transition-all duration-300 active:border\",\n \"aria-invalid:border-stroke-inverse-red-01 aria-invalid:hover:border-stroke-inverse-red-02 aria-invalid:text-element-inverse-red!\",\n {\n \"bg-input-outline-enabled hover:bg-input-outline-hovered disabled:bg-input-outline-disabled border-stroke-inverse-slate-03 hover:border-stroke-inverse-slate-04 focus-within:border-stroke-inverse-slate-04 border\":\n variant === \"outline\",\n\n /* Invalid */\n\n /* Outline On Focus */\n \"focus-visible:hover:border-stroke-static-blue-03 focus-visible:border-stroke-static-blue-03 focus-within:outline-none\":\n variant === \"outline\",\n\n \"bg-input-ghost-enabled hover:bg-input-ghost-hovered disabled:bg-input-ghost-disabled\":\n variant === \"ghost\",\n },\n\n \"data-[placeholder]:text-element-inverse-disabled [&_svg:not([class*='text-'])]:text-element-inverse-disabled focus-visible:aria-invalid:border-input-border-destructiveHover text-body-sm rounded-unit-corner-radius-xl flex w-fit items-center justify-between gap-2 bg-transparent px-3 py-2 whitespace-nowrap transition-[color,box-shadow] outline-none disabled:cursor-not-allowed data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n {withArrow && (\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"text-icon-default size-4\" />\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction BaseSelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"glass-effect data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 rounded-unit-corner-radius-3xl relative z-[var(--z-popover)] max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto px-1 py-1 shadow-xs\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <BaseSelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <BaseSelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\n// function BaseSelectLabel({\n// className,\n// ...props\n// }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n// return (\n// <SelectPrimitive.Label\n// data-slot=\"select-label\"\n// className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n// {...props}\n// />\n// );\n// }\n\nfunction BaseSelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"hover:bg-button-soft-hovered [&_svg:not([class*='text-'])]:text-text-inactive relative flex w-full cursor-pointer items-center gap-2 rounded-lg py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"text-icon-secondary size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\n// function BaseSelectSeparator({\n// className,\n// ...props\n// }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n// return (\n// <SelectPrimitive.Separator\n// data-slot=\"select-separator\"\n// className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n// {...props}\n// />\n// );\n// }\n\nfunction BaseSelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction BaseSelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n // BaseSelectContent,\n // BaseSelectGroup,\n // BaseSelectItem,\n // BaseSelectLabel,\n // BaseSelectScrollDownButton,\n // BaseSelectScrollUpButton,\n // BaseSelectSeparator,\n // BaseSelectTrigger,\n // BaseSelectValue,\n SelectInput,\n};\n","import * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n showCloseButton = true,\n sheetOverlayClassName,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n sheetOverlayClassName?: string;\n showCloseButton?: boolean;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay className={sheetOverlayClassName} />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"bg-fill-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n side === \"right\" &&\n \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",\n side === \"left\" &&\n \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",\n side === \"top\" &&\n \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n side === \"bottom\" &&\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n ) : null}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-foreground font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n};\n","import { cn } from \"@/utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\n \"bg-stroke-inverse-slate-03 animate-pulse rounded-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","import * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max],\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-audioProgress-bg relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-audioProgress-item absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\",\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"bg-audioProgress-item ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n ></SliderPrimitive.Thumb>\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n","import { useTheme } from \"next-themes\";\nimport { Toaster as Sonner, type ToasterProps } from \"sonner\";\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { Toaster };\n","import { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\n\nfunction Switch({\n className,\n label,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & { label?: string }) {\n return (\n <div className=\"flex items-center space-x-2\">\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n id={props.id || label}\n className={cn(\n \"peer data-[state=checked]:bg-button-switch-on-enabled data-[state=checked]:hover:bg-button-switch-on-hovered data-[state=checked]:disabled:bg-button-switch-on-disabled data-[state=unchecked]:bg-button-switch-off-enabled data-[state=unchecked]:hover:bg-button-switch-off-hovered data-[state=unchecked]:disabled:bg-button-switch-off-disabled focus-visible:border-input-border-primaryHover focus-visible:ring-effect-ring-primary dark:data-[state=unchecked]:bg-input/80 inline-flex h-[20px] w-[34px] shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-element-static-white dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-1px)] data-[state=unchecked]:translate-x-[1px]\",\n )}\n />\n </SwitchPrimitive.Root>\n {label && <Label htmlFor={props.id || label}>{label}</Label>}\n </div>\n );\n}\n\nexport { Switch };\n","import { cn } from \"@/utils\";\nimport { Loader2 as Spinner } from \"lucide-react\";\nimport { Badge } from \"@/ui/Badge\";\nimport { ProgressIndicator } from \"@/ui/ProgressIndicator\";\nimport {\n type ColumnDef,\n flexRender,\n getCoreRowModel,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { useHover } from \"@uidotdev/usehooks\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { AlertCircle } from \"lucide-react\";\nimport {\n IconsaxBriefcaseBold,\n MagickoAdd,\n MagickoCopy,\n MagickoCopySuccess,\n} from \"magick-icons\";\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport { Button } from \"@/ui/Button\";\nimport IconButton from \"@/ui/IconButton\";\nimport IconProfile from \"@/ui/IconProfile\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/ui/Popover\";\nimport { Text } from \"@/ui/Text\";\n\ntype TableProps<T> = {\n columns: ColumnDef<T, keyof T>[];\n tableData: T[];\n isLoading?: boolean;\n emptyState?: {\n emptyAction?: () => void;\n label: string;\n icon: React.ReactNode;\n };\n onRowClick?: (row: T) => void;\n};\n\nconst Table = <T,>({\n columns,\n tableData,\n isLoading = false,\n emptyState = {\n emptyAction: undefined,\n label: \"There is currently no data available to display in this table.\",\n icon: <IconProfile icon={<IconsaxBriefcaseBold />} color=\"teal\" />,\n },\n onRowClick,\n}: TableProps<T>) => {\n const table = useReactTable({\n data: tableData,\n columns,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n });\n\n const rowCount = table.getRowModel().rows.length;\n\n return (\n <div className=\"relative flex flex-col overflow-auto\">\n {isLoading ? (\n <div\n className={cn(\n rowCount === 0 ? \"\" : \"bg-gray-100 dark:bg-gray-700\",\n \"absolute top-10 left-0 w-full h-full min-h-[100px] opacity-70 z-10 flex items-center justify-center\"\n )}\n >\n <Spinner className=\"size-10 text-stroke-inverse-slate-04 \" />\n </div>\n ) : null}\n\n {!isLoading && rowCount === 0 ? (\n <div className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-2\">\n <div className=\"flex flex-col items-center gap-4\">\n {emptyState?.icon}\n <Text>{emptyState?.label}</Text>\n {emptyState?.emptyAction ? (\n <Button\n variant={\"outline\"}\n prefix={\n <MagickoAdd className=\"[&_path]:fill-element-inverse-default\" />\n }\n onClick={() => emptyState?.emptyAction?.()}\n >\n Create new\n </Button>\n ) : null}\n </div>\n </div>\n ) : null}\n\n <div className=\"max-w-full flex-1 overflow-x-auto\">\n <table\n className=\"w-full caption-bottom text-sm\"\n style={{ minWidth: \"max-content\" }}\n >\n <thead className=\"bg-fill-inverse-slate-03\">\n {table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className=\"hover:bg-muted/50 border-stroke-inverse-slate-02 border-b transition-colors\"\n >\n {headerGroup.headers.map((header) => (\n <th\n key={header.id}\n className=\"text-muted-foreground h-12 px-4 text-left align-middle font-medium\"\n >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </th>\n ))}\n </tr>\n ))}\n </thead>\n <tbody className=\"relative\">\n {table.getRowModel().rows.map((row) => {\n return (\n <tr\n key={row.id}\n className=\"hover:bg-muted/50 bg-table-table-cell-unselected group/row border-stroke-inverse-slate-02 cursor-pointer border-b transition-colors\"\n onClick={() => onRowClick?.(row.original)}\n >\n {row.getVisibleCells().map((cell) => (\n <td key={cell.id} className=\"p-4\">\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </td>\n ))}\n </tr>\n );\n })}\n\n {rowCount === 0 &&\n Array.from({ length: 6 }).map((_, index) => (\n <tr key={index}>\n <td colSpan={columns.length} className=\"h-12 p-4\">\n <div className=\"\" />\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\n// PrimaryCell component with variants (no explicit default variant)\nconst primaryCellVariants = cva(\n \"flex items-center gap-2 text-body-sm text-element-inverse-default\",\n {\n variants: {\n variant: {\n badge: \"\",\n progress: \"\",\n error: \"text-element-inverse-red flex items-center gap-2\",\n },\n },\n }\n);\n\nexport interface PrimaryCellProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof primaryCellVariants> {\n children?: React.ReactNode;\n badgeContent?: React.ReactNode;\n badgeType?:\n | \"primary-hard\"\n | \"primary-soft\"\n | \"destructive-hard\"\n | \"destructive-soft\"\n | \"secondary-hard\"\n | \"secondary-soft\";\n badgeSize?: \"sm\" | \"md\";\n progressValue?: number;\n progressMax?: number;\n showProgressPercentage?: boolean;\n errorMessage?: string;\n hoverUI?: React.ReactNode;\n}\n\nconst PrimaryCell = React.forwardRef<HTMLDivElement, PrimaryCellProps>(\n (\n {\n variant,\n badgeContent,\n children,\n badgeType,\n badgeSize = \"sm\",\n progressValue,\n progressMax = 100,\n showProgressPercentage = false,\n errorMessage,\n hoverUI,\n ...props\n },\n ref\n ) => {\n let content: React.ReactNode = children;\n\n if (variant === \"badge\") {\n content = (\n <div className=\"flex items-center gap-2\">\n {children}\n {badgeContent && (\n <Badge type={badgeType} size={badgeSize}>\n {badgeContent}\n </Badge>\n )}\n </div>\n );\n } else if (variant === \"progress\") {\n content = (\n <>\n {progressValue !== 100 && (\n <ProgressIndicator\n variant=\"circle\"\n value={progressValue || 0}\n max={progressMax}\n showPercentage={showProgressPercentage}\n />\n )}\n {children && (\n <span className=\"text-body-sm text-element-inverse-default\">\n {children}\n </span>\n )}\n </>\n );\n } else if (variant === \"error\") {\n content = (\n <>\n <AlertCircle className=\"size-4 shrink-0\" />\n {errorMessage ? (\n <span className=\"text-body-sm\">{errorMessage}</span>\n ) : (\n children\n )}\n </>\n );\n }\n\n return (\n <div\n ref={ref}\n className={cn(primaryCellVariants({ variant }))}\n {...props}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">{content}</div>\n {hoverUI && (\n <div className=\"ml-2 flex items-center gap-2 opacity-0 transition-opacity duration-200 group-hover/row:opacity-100\">\n {hoverUI}\n </div>\n )}\n </div>\n );\n }\n);\n\nPrimaryCell.displayName = \"PrimaryCell\";\n\n// Attach PrimaryCell as a compound component\nTable.PrimaryCell = PrimaryCell;\n\nconst TextCell = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n text: string | number | undefined;\n copyable?: boolean;\n className?: string;\n }\n>(({ text, copyable = true, className, ...props }, ref) => {\n const [isCopied, setIsCopied] = useState(false);\n const [hoverRef, isHovering] = useHover();\n\n const handleCopy = () => {\n navigator.clipboard.writeText(text as string);\n setIsCopied(true);\n };\n\n React.useEffect(() => {\n if (isCopied) {\n setTimeout(() => {\n setIsCopied(false);\n }, 1200);\n }\n }, [isCopied]);\n\n return (\n <div className={cn(\"w-full h-full\", className)} ref={ref} {...props}>\n <div className=\"relative\" ref={hoverRef}>\n {copyable && isHovering && (\n <IconButton\n icon={\n isCopied ? (\n <MagickoCopySuccess\n className={cn(\n isCopied ? \"size-4 scale-115\" : \"size-4\",\n \"transition-all ease-in duration-200\"\n )}\n />\n ) : (\n <MagickoCopy className=\"size-4\" />\n )\n }\n className=\"absolute top-1/2 -right-3 -translate-y-1/2\"\n size=\"sm\"\n varient=\"soft\"\n onClick={handleCopy}\n />\n )}\n\n <Popover>\n <PopoverTrigger asChild>\n <Text className=\"truncate line-clamp-1\">{text ?? \"-\"}</Text>\n </PopoverTrigger>\n <PopoverContent className=\"\">\n <Text>{text ?? \"-\"}</Text>\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n});\n\nTextCell.displayName = \"TextCell\";\nTable.TextCell = TextCell;\n\nexport default Table;\n","import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\n\nimport { Badge } from \"@/ui/Badge\";\nimport { cn } from \"@/utils\";\n\nexport interface TabItem {\n value: string;\n label: string;\n content: React.ReactNode;\n notification?: boolean;\n count?: number;\n icon?: React.ReactNode;\n}\n\nexport interface TabItemWithoutContent {\n value: string;\n label: string;\n notification?: boolean;\n count?: number;\n icon?: React.ReactNode;\n onClick?: () => void;\n}\n\nfunction Tabs({\n defaultActiveTab,\n tabSmall,\n className,\n tabs,\n showContent = true,\n ...props\n}: {\n defaultActiveTab: string;\n tabSmall?: boolean;\n className?: string;\n notification?: boolean;\n showContent?: boolean;\n tabs: (TabItem | TabItemWithoutContent)[];\n} & React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <BaseTabs defaultValue={defaultActiveTab} className={className} {...props}>\n <BaseTabsList>\n {tabs.map((tab) => (\n <BaseTabsTrigger\n key={tab.value}\n tabSmall={tabSmall}\n value={tab.value}\n className=\"relative flex cursor-pointer items-center justify-center gap-x-2\"\n onClick={\n typeof tab === \"object\" && \"onClick\" in tab\n ? tab.onClick\n : undefined\n }\n >\n {tab.icon && <div>{tab.icon}</div>}\n {tab.label}\n {tab.notification && (\n <div className=\"bg-icon-destructive absolute top-1 right-1 size-1.5 rounded-full\" />\n )}\n {!!tab.count && <Badge type=\"primary-soft\">{tab.count}</Badge>}\n </BaseTabsTrigger>\n ))}\n </BaseTabsList>\n {showContent &&\n \"content\" in tabs[0] &&\n tabs.map((tab) => (\n <BaseTabsContent key={tab.value} value={tab.value}>\n {(tab as TabItem).content}\n </BaseTabsContent>\n ))}\n </BaseTabs>\n );\n}\n\n// Base components\nfunction BaseTabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction BaseTabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"inline-flex min-h-9 w-fit flex-nowrap items-center justify-center gap-1.5 rounded-lg py-[3px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseTabsTrigger({\n className,\n tabSmall,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger> & {\n tabSmall?: boolean;\n}) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"dark:data-[state=active]:text-text-default focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 hover:!bg-tab-bg-hover dark:text-text-light data-[state=active]:after:bg-icon-default text-body-sm data-[state=active]:text-text-default text-text-light relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 font-sans font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:after:absolute data-[state=active]:after:right-0 data-[state=active]:after:-bottom-1.5 data-[state=active]:after:left-0 data-[state=active]:after:mx-auto data-[state=active]:after:h-0.5 data-[state=active]:after:w-[calc(100%-16px)] data-[state=active]:after:content-[''] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n tabSmall &&\n \"data-[state=active]:bg-tab-bg-active dark:data-[state=active]:bg-tab-bg-active focus-visible:border-none focus-visible:ring-0 focus-visible:outline-0 data-[state=active]:after:hidden dark:data-[state=active]:border-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseTabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs };\n","import { cn } from \"@/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\ntype Props = {\n label: string;\n variant: string;\n className?: string;\n};\n\nconst tagVariants = cva(\"px-1 rounded-sm\", {\n variants: {\n variant: {\n primary: \"bg-tag-bg-primary\",\n secondary: \"bg-tag-bg-secondary\",\n destructive: \"bg-tag-bg-destructive\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nfunction Tag({\n label,\n variant,\n className,\n}: Props & VariantProps<typeof tagVariants>) {\n return (\n <div data-slot=\"tag\" className={cn(tagVariants({ variant }), className)}>\n <span className=\"text-caption font-semibold text-white\">{label}</span>\n </div>\n );\n}\n\nexport { Tag };\n","import * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nconst TextareaInput = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\"> & {\n label?: string;\n }\n>(({ className, label, ...props }, ref) => {\n return (\n <textarea\n ref={ref}\n id={props.id}\n data-slot=\"textarea\"\n className={cn(\n \"text-body-sm border-stroke-inverse-slate-03 placeholder:text-body-sm! placeholder:leading-body-sm placeholder:text-text-inactive hover:border-stroke-static-slate-03 bg-input-ghost-enabled focus-visible:border-stroke-static-blue-03 disabled:border-stroke-inverse-slate-02 disabled:bg-fill-inverse-slate-02 rounded-unit-corner-radius-xl flex field-sizing-content min-h-16 w-full border px-3 py-2 shadow-xs transition-[color,box-shadow] outline-none placeholder:font-medium disabled:cursor-not-allowed\",\n \"aria-invalid:border-stroke-inverse-red-01 aria-invalid:hover:border-stroke-inverse-red-02 aria-invalid:text-element-inverse-red\",\n className\n )}\n {...props}\n />\n );\n});\n\nTextareaInput.displayName = \"TextareaInput\";\n\nexport default TextareaInput;\n","\"use client\";\n\nimport { cn } from \"@/utils\";\nimport { Clock } from \"lucide-react\";\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/ui/Dropdown\";\nimport { Input } from \"@/ui/Input\";\nimport { Label } from \"@/ui/Label\";\n\ninterface TimePickerProps\n extends Omit<React.ComponentProps<\"input\">, \"onChange\"> {\n label?: string;\n timeOptions: { label: string; value: string }[];\n defaultValue?: string;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nexport function TimePicker({\n label,\n onValueChange,\n timeOptions,\n defaultValue,\n value,\n ...props\n}: TimePickerProps) {\n \n const [isOpen, setIsOpen] = useState(false);\n const currentValue = value || defaultValue || \"\";\n\n const formatTimeForDisplay = (timeValue: string): string => {\n if (!timeValue) return \"\";\n\n const timeOption = timeOptions?.find(\n (option) => option.value === timeValue,\n );\n return timeOption ? timeOption.label : timeValue;\n };\n\n const handleChange = (value: string) => {\n onValueChange?.(value);\n };\n return (\n <div className=\"flex flex-col gap-3\">\n {label && (\n <Label htmlFor=\"time-picker\" className=\"px-1\">\n Time\n </Label>\n )}\n <DropdownMenu open={isOpen} onOpenChange={setIsOpen}>\n <DropdownMenuTrigger className=\"!p-0\">\n <Input\n {...props}\n className=\"py-[1.4px]\"\n value={currentValue ? formatTimeForDisplay(currentValue) : \"\"}\n onKeyDown={(e) => e.preventDefault()}\n prefixNode={{\n node: (\n <Clock className=\"pointer-events-none h-5 w-5 text-gray-700\" />\n ),\n withBorder: false,\n }}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"start\"\n className=\"max-h-60 min-w-41 overflow-y-auto\"\n >\n {timeOptions?.map((item) => (\n <DropdownMenuItem\n key={item.value}\n className={cn(\n \"text-body-sm\",\n currentValue === item.value && \"bg-dropdown-bg-hover font-bold\",\n )}\n onClick={() => handleChange(item.value)}\n >\n {item.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n","import { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\ninterface TitleProps extends React.ComponentPropsWithoutRef<\"h2\"> {\n asChild?: boolean;\n}\n\nconst Title = React.forwardRef<HTMLHeadingElement, TitleProps>(\n ({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"h2\";\n\n return (\n <Comp\n ref={ref}\n className={cn(\n \"text-title-lg! leading-body-lg! text-element-inverse-default font-bold\",\n className\n )}\n {...props}\n />\n );\n }\n);\n\nTitle.displayName = \"Title\";\n\nexport default Title;\n","import * as TogglePrimitive from \"@radix-ui/react-toggle\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 text-sm font-medium disabled:pointer-events-none disabled:text-icon-inactive data-[state=on]:disabled:text-icon-inactive data-[state=on]:disabled:bg-toggle-bg-inactiveDefault data-[state=on]:bg-toggle-bg-activeDefault data-[state=on]:hover:bg-toggle-bg-activeHover data-[state=on]:text-icon-white hover:bg-toggle-bg-inactiveHover hover:text-icon-default [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap cursor-pointer\",\n {\n variants: {\n shape: {\n rectangle: \"rounded-md\",\n rounded: \"rounded-full\",\n },\n style: {\n ghost: \"bg-transparent hover:bg-transparent\",\n outline:\n \"border border-border-primary-light bg-toggle-bg-inactiveDefault\",\n soft: \"bg-button-soft-enabled\",\n },\n size: {\n sm: \"h-7 px-1 min-w-7\",\n md: \"h-8 px-1.5 min-w-8\",\n lg: \"h-9 px-2.5 min-w-9\",\n },\n },\n defaultVariants: {\n shape: \"rectangle\",\n style: \"soft\",\n size: \"sm\",\n },\n },\n);\n\nfunction Toggle({\n className,\n active,\n shape,\n style,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n active?: boolean;\n }) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ shape, style, size, className }))}\n pressed={active}\n {...props}\n />\n );\n}\n\nexport { Toggle, toggleVariants };\n","import { useRef } from \"react\";\n\nimport { ToggleDropdownLeftButton } from \"./ToggleDropdownLeftButton\";\nimport { ToggleDropdownRightButton } from \"./ToggleDropdownRightButton\";\nimport { useToggleDropdown } from \"./useToggleDropdown\";\n\ntype ToggleDropdownButtonProps = {\n type: \"text\" | \"icon\";\n selected: boolean;\n variant: \"primary\" | \"secondary\" | \"destructive\";\n leftButtonChildren?: React.ReactNode;\n rightButtonChildren?: React.ReactNode;\n onLeftButtonClick?: () => void;\n onRightButtonClick?: () => void;\n dropdownMenu?: React.ReactNode;\n};\n\nconst ToggleDropdownButton = ({\n type,\n selected,\n variant,\n leftButtonChildren,\n rightButtonChildren,\n onRightButtonClick,\n onLeftButtonClick,\n dropdownMenu,\n}: ToggleDropdownButtonProps) => {\n const rightButtonRef = useRef<HTMLButtonElement>(null);\n\n const handleRightButtonClick = () => {\n onRightButtonClick?.();\n };\n\n const handleLeftButtonClick = () => {\n onLeftButtonClick?.();\n };\n\n return (\n <div className=\"gap-x-unit-1px flex items-center\">\n <ToggleDropdownLeftButton\n selected={selected}\n variant={variant}\n size=\"md\"\n type={type}\n onClick={handleLeftButtonClick}\n >\n {leftButtonChildren}\n </ToggleDropdownLeftButton>\n\n <div className=\"relative\">\n <ToggleDropdownRightButton\n ref={rightButtonRef}\n selected={selected}\n variant={variant}\n size=\"md\"\n type={type}\n onClick={handleRightButtonClick}\n >\n {rightButtonChildren}\n </ToggleDropdownRightButton>\n\n {dropdownMenu}\n </div>\n </div>\n );\n};\n\nexport default ToggleDropdownButton;\nexport { useToggleDropdown };\n","import { cva } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport IconContainer from \"@/ui/IconContainer\";\n\nconst toggleDropdownLeftButtonVariants = cva(\n \"flex items-center justify-center cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"px-3 py-2.5 h-full rounded-l-unit-corner-radius-xl rounded-r-unit-corner-radius-sm\",\n lg: \"px-4 py-3 h-full rounded-l-unit-corner-radius-2xl rounded-r-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\n\nconst toggleDropdownLeftButtonIconVariants = cva(\n \"flex items-center justify-center cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"p-unit-10px h-full rounded-l-unit-corner-radius-xl rounded-r-unit-corner-radius-sm\",\n lg: \"p-3 h-full rounded-l-unit-corner-radius-2xl rounded-r-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\nexport interface ToggleDropdownLeftButtonProps extends Omit<\n React.ComponentProps<\"button\">,\n \"children\" | \"type\"\n> {\n type?: \"text\" | \"icon\";\n variant?: \"primary\" | \"secondary\" | \"destructive\";\n size?: \"md\" | \"lg\";\n selected?: boolean;\n children?: React.ReactNode;\n}\n\nfunction ToggleDropdownLeftButton({\n className,\n variant = \"primary\",\n type = \"text\",\n size = \"md\",\n selected = false,\n children,\n ...props\n}: ToggleDropdownLeftButtonProps) {\n const iconClass = selected\n ? \"text-element-static-white fill-element-static-white\"\n : \"text-element-inverse-default fill-element-inverse-default\";\n\n // Check if children is a React element (likely an icon)\n const isIcon = React.isValidElement(children);\n\n return type === \"text\" ? (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownLeftButtonVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n {isIcon ? (\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:!text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n ) : (\n children\n )}\n </button>\n ) : (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownLeftButtonIconVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:!text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n </button>\n );\n}\n\nexport { ToggleDropdownLeftButton, toggleDropdownLeftButtonVariants };\n","import { cva } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport IconContainer from \"@/ui/IconContainer\";\n\nconst toggleDropdownRightButtonVariants = cva(\n \"flex items-center justify-center group cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"px-1 py-unit-10px h-full rounded-r-unit-corner-radius-xl rounded-l-unit-corner-radius-sm\",\n lg: \"px-1 py-3 h-full rounded-r-unit-corner-radius-2xl rounded-l-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\n\nconst toggleDropdownRightButtonIconVariants = cva(\n \"flex items-center justify-center group cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"px-1 py-unit-10px h-full rounded-r-unit-corner-radius-xl rounded-l-unit-corner-radius-sm\",\n lg: \"px-1 py-3 h-full rounded-r-unit-corner-radius-2xl rounded-l-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\n\nexport interface ToggleDropdownRightButtonProps extends Omit<\n React.ComponentProps<\"button\">,\n \"children\" | \"type\"\n> {\n variant?: \"primary\" | \"secondary\" | \"destructive\";\n type?: \"text\" | \"icon\";\n size?: \"md\" | \"lg\";\n selected?: boolean;\n children?: React.ReactNode;\n}\n\nfunction ToggleDropdownRightButton({\n className,\n variant = \"primary\",\n type = \"text\",\n size = \"md\",\n selected = false,\n children,\n ...props\n}: ToggleDropdownRightButtonProps) {\n const iconClass = selected\n ? \"text-element-static-white fill-element-static-white\"\n : \"text-element-inverse-default fill-element-inverse-default\";\n\n // Check if children is a React element (likely an icon)\n const isIcon = React.isValidElement(children);\n\n return type === \"text\" ? (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownRightButtonVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n {isIcon ? (\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:!text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n ) : (\n children\n )}\n </button>\n ) : (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownRightButtonIconVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:! text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n </button>\n );\n}\n\nexport { ToggleDropdownRightButton, toggleDropdownRightButtonVariants };\n","import { useState, useCallback } from \"react\";\n\nexport const useToggleDropdown = (initialState = false) => {\n const [isOpen, setIsOpen] = useState(initialState);\n\n const openDropdown = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const closeDropdown = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const toggleDropdown = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n return {\n isOpen,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n setIsOpen,\n };\n};\n\n","import { cn } from \"@/utils\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useState } from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from \"@/ui/Dropdown\";\n\ntype ToolToggleProps = {\n className?: string;\n dropdown?: boolean;\n dropdownContent?: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: (active: boolean) => void;\n};\n\nconst ToolToggle = ({\n dropdown,\n dropdownContent,\n icon,\n className,\n onClick,\n}: ToolToggleProps) => {\n const [active, setActive] = useState(false);\n\n const handleClick = () => {\n setActive(!active);\n onClick?.(active);\n };\n\n return (\n <div className={cn(dropdown ? \"min-w-20\" : \"min-w-[52px]\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger\n className={cn(\n \"border-border-primary-light !bg-toggle-bg-inactiveDefault hover:!bg-toggle-bg-inactiveHover flex h-full w-full items-center justify-center gap-x-2 !rounded-full border p-4 transition-all\",\n active &&\n \"!bg-toggle-bg-activeDefault hover:!bg-toggle-bg-activeHover\",\n )}\n >\n <div\n className=\"flex items-center justify-center gap-x-2\"\n onClick={handleClick}\n >\n {icon}\n {dropdown && <ChevronDown className=\"text-icon-default size-5\" />}\n </div>\n </DropdownMenuTrigger>\n {dropdown && (\n <DropdownMenuContent align=\"start\" className=\"min-w-41\">\n {dropdownContent}\n </DropdownMenuContent>\n )}\n </DropdownMenu>\n </div>\n );\n};\n\nexport { ToolToggle };\n","import { cn } from \"@/utils\";\n\ntype WrapperCardProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport const WrapperCard = (props: WrapperCardProps) => {\n const { children, className } = props;\n\n return (\n <div\n className={cn(\n \"rounded-unit-corner-radius-5xl scrollbar-hide border-stroke-inverse-slate-02 bg-fill-foreground overflow-scroll border p-4\",\n className\n )}\n >\n {children}\n </div>\n );\n};\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\n\nconst BaseForm = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst BaseFormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\nfunction BaseFormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction BaseFormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\n \"data-[error=true]:text-destructive text-title-sm! text-element-inverse-default font-semibold\",\n className,\n )}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction BaseFormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction BaseFormDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction BaseFormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n //Warning: I don't know why I can't use cn here :)\n className={`text-text-destructive text-caption ${className}`}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n BaseForm,\n BaseFormControl,\n BaseFormDescription,\n BaseFormField,\n BaseFormItem,\n BaseFormLabel,\n BaseFormMessage,\n useFormField,\n};\n","import * as React from \"react\";\nimport type { Control, FieldValues, Path } from \"react-hook-form\";\nimport {\n BaseFormControl,\n BaseFormField,\n BaseFormItem,\n BaseFormLabel,\n BaseFormMessage,\n} from \"@/ui/form/Base\";\nimport { cn } from \"@/utils\";\nimport type { Input } from \"@/ui/Input\";\n\nexport type FormFieldProps<T extends FieldValues> = {\n control: Control<T>;\n isShowError?: boolean;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n field: {\n name: Path<T>;\n label?: string;\n required?: boolean;\n optional?: boolean;\n render: React.ReactNode;\n };\n className?: string;\n};\n\nexport const FormField = <T extends FieldValues>({\n control,\n field,\n isShowError,\n onBlur,\n className,\n}: FormFieldProps<T>) => {\n return (\n <BaseFormField\n key={field.name}\n control={control}\n name={field.name}\n render={({ field: formField }) => (\n <BaseFormItem className={cn(\"w-full\", className)}>\n {field.label && (\n <BaseFormLabel className=\"gap-1\">\n {field.label}\n {field.required && (\n <span className=\"text-element-inverse-red\">*</span>\n )}\n {field.optional && (\n <span className=\"text-title-sm!\">(Optional)</span>\n )}\n </BaseFormLabel>\n )}\n <BaseFormControl>\n {React.isValidElement(field.render)\n ? React.cloneElement(\n field.render as React.ReactElement<\n React.ComponentProps<typeof Input>\n >,\n {\n ...formField,\n onBlur: (e) => {\n formField.onBlur();\n onBlur?.(e);\n },\n }\n )\n : field.render}\n </BaseFormControl>\n {isShowError && <BaseFormMessage />}\n </BaseFormItem>\n )}\n />\n );\n};\n","import type React from \"react\";\nimport { createContext } from \"react\";\nimport {\n Controller,\n type FieldPath,\n type FieldValues,\n type Path,\n type PathValue,\n type UseFormReturn,\n useFormContext,\n} from \"react-hook-form\";\nimport { cn } from \"@/utils\";\nimport { BaseForm } from \"@/ui/form/Base\";\nimport { FormField } from \"@/ui/form/FormField\";\nimport { Input } from \"@/ui/Input\";\nimport { PasswordInput } from \"@/ui/PasswordInput\";\nimport { SelectInput } from \"@/ui/SelectInput\";\nimport TextareaInput from \"@/ui/TextAreaInput\";\nimport { Checkbox } from \"@/ui/Checkbox\";\nimport { Combobox } from \"@/ui/Combobox\";\nimport { DatePickerInput } from \"@/ui/DatePickerInput\";\nimport { FileUploadField } from \"@/ui/FileUpload\";\nimport { MultiSelect } from \"@/ui/MultiSelect\";\nimport { OTPInput } from \"@/ui/OTPInput\";\nimport { Radio } from \"@/ui/Radio\";\nimport { Switch } from \"@/ui/Switch\";\nimport { TimePicker } from \"@/ui/TimePicker\";\n\nconst FormMethodsContext = createContext<UseFormReturn<FieldValues> | null>(\n null\n);\n\ntype FormProps<T extends FieldValues> = {\n id: string;\n formMethods: UseFormReturn<T>;\n onSubmit: (data: T) => void;\n className?: string;\n children: React.ReactNode;\n};\n\nfunction Form<T extends FieldValues>({\n id,\n formMethods,\n onSubmit,\n className,\n children,\n}: FormProps<T>) {\n return (\n <FormMethodsContext.Provider\n value={formMethods as UseFormReturn<FieldValues>}\n >\n <BaseForm {...formMethods}>\n <form\n id={id}\n onSubmit={formMethods.handleSubmit(onSubmit)}\n className={className}\n noValidate\n >\n {children}\n </form>\n </BaseForm>\n </FormMethodsContext.Provider>\n );\n}\n\nForm.InputField = function InputField<T extends FieldValues = FieldValues>({\n name,\n label,\n isShowError = false,\n required = false,\n ...props\n}: {\n name: FieldPath<T>;\n isShowError?: boolean;\n label?: string;\n required?: boolean;\n} & React.ComponentProps<typeof Input>) {\n const { control } = useFormContext<T>();\n\n return (\n <FormField\n className=\"w-full\"\n control={control}\n isShowError={isShowError}\n onBlur={props.onBlur}\n field={{\n name,\n label,\n required,\n render: <Input {...props} inputClassName={props.inputClassName} />,\n }}\n />\n );\n};\n\nForm.PasswordField = function PasswordField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T> } & React.ComponentProps<typeof PasswordInput>) {\n const { control } = useFormContext<T>();\n\n return (\n <FormField\n className=\"w-full\"\n control={control}\n field={{\n name,\n label,\n render: <PasswordInput {...props} />,\n }}\n />\n );\n};\n\nForm.SelectInputField = function SelectInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n required,\n ...props\n}: { name: FieldPath<T>; label?: string } & React.ComponentProps<\n typeof SelectInput\n>) {\n const { control } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n required,\n label,\n render: <SelectInput {...props} />,\n }}\n />\n );\n};\n\nForm.MultiSelectField = function MultiSelectField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T>; label?: string } & Omit<\n React.ComponentProps<typeof MultiSelect>,\n \"selected\" | \"onChange\"\n>) {\n const { control, watch, setValue } = useFormContext<T>();\n const selectedValues = watch(name) || [];\n\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n render: (\n <MultiSelect\n {...props}\n selected={selectedValues}\n onChange={(selected) =>\n setValue(name, selected as PathValue<T, Path<T>>)\n }\n />\n ),\n }}\n />\n );\n};\n\nForm.TextareaField = function TextareaField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n optional = false,\n ...props\n}: { name: FieldPath<T>; optional?: boolean } & React.ComponentProps<\n typeof TextareaInput\n>) {\n const { control } = useFormContext<T>();\n\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n optional,\n render: <TextareaInput {...props} />,\n }}\n />\n );\n};\n\nForm.FileUploadField = function FileUploadFieldComponent<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n isMultiple,\n maxFiles,\n children,\n CustomFileList,\n onChange: customOnChange,\n ...props\n}: {\n name: FieldPath<T>;\n label?: string;\n isMultiple?: boolean;\n maxFiles?: number;\n children?: React.ReactNode;\n CustomFileList?: React.ComponentType;\n onChange?: (files: File[] | File | null) => void;\n} & Omit<\n React.ComponentProps<typeof FileUploadField>,\n \"hookedForm\" | \"field\" | \"onChange\"\n>) {\n const { control, formState } = useFormContext<T>() as UseFormReturn;\n const fieldError = formState.errors[name];\n const hasValidationError = !!fieldError;\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: formField }) => (\n <div className=\"space-y-1\">\n {label && (\n <label htmlFor={name} className=\"font-medium\">\n {label}\n </label>\n )}\n <FileUploadField\n field={{ name, isMultiple, maxFiles, children }}\n CustomFileList={CustomFileList}\n hasValidationError={hasValidationError}\n value={formField.value || (isMultiple ? [] : undefined)}\n onChange={(files) => {\n // Update form field value\n formField.onChange(files);\n // Call custom onChange if provided\n if (customOnChange) {\n customOnChange(files);\n }\n }}\n onBlur={formField.onBlur}\n name={formField.name}\n {...props}\n />\n </div>\n )}\n />\n );\n};\n\n// Define DatePickerInputProps here since it's not exported\ninterface DatePickerInputProps extends React.ComponentProps<\"button\"> {\n date: Date | undefined;\n setDate: (date: Date | undefined) => void;\n placeholder?: string;\n}\n\nForm.DateInputField = function DateInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n disablePast,\n required,\n ...props\n}: { name: FieldPath<T>; label?: string; required?: boolean } & Omit<\n DatePickerInputProps,\n \"date\" | \"setDate\"\n> & {\n disablePast?: boolean;\n required?: boolean;\n }) {\n const { control, watch, setValue } = useFormContext<T>();\n const value = watch(name);\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n required,\n render: (\n <DatePickerInput\n {...props}\n date={value}\n setDate={(date) => setValue(name, date as PathValue<T, Path<T>>)}\n disablePast={disablePast}\n />\n ),\n }}\n />\n );\n};\n\nForm.TimeInputField = function TimeInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T>; label?: string } & React.ComponentProps<\n typeof TimePicker\n>) {\n const { control, setValue } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n render: (\n <TimePicker\n onValueChange={(value) => {\n setValue(name, value as any);\n }}\n {...props}\n />\n ),\n }}\n />\n );\n};\n\nForm.CheckboxField = function CheckboxField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T> } & Omit<\n React.ComponentProps<typeof Checkbox>,\n \"value\"\n>) {\n const { control } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n render: <Checkbox value={name} label={label} {...props} />,\n }}\n />\n );\n};\n\nForm.OTPInputField = function OTPInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n ...props\n}: { name: FieldPath<T> } & React.ComponentProps<typeof OTPInput>) {\n const { control } = useFormContext<T>();\n return (\n <FormField\n className=\"w-full\"\n control={control}\n field={{ name, render: <OTPInput {...props} /> }}\n />\n );\n};\n\nForm.RadioField = function RadioField<T extends FieldValues = FieldValues>({\n name,\n label,\n ...props\n}: { name: FieldPath<T>; label?: string } & React.ComponentProps<\n typeof Radio\n>) {\n const { control } = useFormContext<T>();\n const { setValue } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n render: (\n <Radio\n {...props}\n onValueChange={(value) => setValue(name, value as any)}\n />\n ),\n }}\n />\n );\n};\n\nForm.ComboboxField = function ComboboxField<\n T extends FieldValues = FieldValues,\n>({\n name,\n ...props\n}: { name: FieldPath<T> } & Omit<\n React.ComponentProps<typeof Combobox>,\n \"onChange\"\n>) {\n const { control, setValue, watch } = useFormContext<T>();\n const value = watch(name);\n return (\n <FormField\n control={control}\n field={{\n name,\n render: (\n <Combobox\n {...props}\n value={value || \"\"}\n onChange={(val) => setValue(name, val as PathValue<T, Path<T>>)}\n />\n ),\n }}\n />\n );\n};\n\n\nForm.SwitchField = function SwitchField<T extends FieldValues = FieldValues>({\n name,\n label,\n prefix,\n suffix,\n className,\n ...props\n}: {\n name: FieldPath<T>;\n label?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n className?: string;\n} & Omit<React.ComponentProps<typeof Switch>, \"checked\" | \"onCheckedChange\">) {\n const { control, setValue, watch } = useFormContext<T>();\n const value = watch(name);\n return (\n <FormField\n control={control}\n className={cn(\"w-full\", className)}\n field={{\n name,\n label,\n render: (\n <div className=\"flex items-center\">\n {prefix && <span className=\"mr-2\">{prefix}</span>}\n <Switch\n {...props}\n checked={!!value}\n onCheckedChange={(checked) =>\n setValue(name, checked as PathValue<T, Path<T>>)\n }\n />\n {suffix && <span className=\"ml-2\">{suffix}</span>}\n </div>\n ),\n }}\n />\n );\n};\n\nexport { Form };\n","// Design Tokens CSS Variables TypeScript Definitions\n// Generated from design tokens\n\nexport interface DesignTokens {\n 'color-slate-50': string;\n 'color-slate-100': string;\n 'color-slate-200': string;\n 'color-slate-300': string;\n 'color-slate-400': string;\n 'color-slate-500': string;\n 'color-slate-600': string;\n 'color-slate-700': string;\n 'color-slate-800': string;\n 'color-slate-900': string;\n 'color-slate-950': string;\n 'color-red-50': string;\n 'color-red-100': string;\n 'color-red-200': string;\n 'color-red-300': string;\n 'color-red-400': string;\n 'color-red-500': string;\n 'color-red-600': string;\n 'color-red-700': string;\n 'color-red-800': string;\n 'color-red-900': string;\n 'color-red-950': string;\n 'color-orange-50': string;\n 'color-orange-100': string;\n 'color-orange-200': string;\n 'color-orange-300': string;\n 'color-orange-400': string;\n 'color-orange-500': string;\n 'color-orange-600': string;\n 'color-orange-700': string;\n 'color-orange-800': string;\n 'color-orange-900': string;\n 'color-orange-950': string;\n 'color-amber-50': string;\n 'color-amber-100': string;\n 'color-amber-200': string;\n 'color-amber-300': string;\n 'color-amber-400': string;\n 'color-amber-500': string;\n 'color-amber-600': string;\n 'color-amber-700': string;\n 'color-amber-800': string;\n 'color-amber-900': string;\n 'color-amber-950': string;\n 'color-yellow-50': string;\n 'color-yellow-100': string;\n 'color-yellow-200': string;\n 'color-yellow-300': string;\n 'color-yellow-400': string;\n 'color-yellow-500': string;\n 'color-yellow-600': string;\n 'color-yellow-700': string;\n 'color-yellow-800': string;\n 'color-yellow-900': string;\n 'color-yellow-950': string;\n 'color-lime-50': string;\n 'color-lime-100': string;\n 'color-lime-200': string;\n 'color-lime-300': string;\n 'color-lime-400': string;\n 'color-lime-500': string;\n 'color-lime-600': string;\n 'color-lime-700': string;\n 'color-lime-800': string;\n 'color-lime-900': string;\n 'color-lime-950': string;\n 'color-green-50': string;\n 'color-green-100': string;\n 'color-green-200': string;\n 'color-green-300': string;\n 'color-green-400': string;\n 'color-green-500': string;\n 'color-green-600': string;\n 'color-green-700': string;\n 'color-green-800': string;\n 'color-green-900': string;\n 'color-green-950': string;\n 'color-emerald-50': string;\n 'color-emerald-100': string;\n 'color-emerald-200': string;\n 'color-emerald-300': string;\n 'color-emerald-400': string;\n 'color-emerald-500': string;\n 'color-emerald-600': string;\n 'color-emerald-700': string;\n 'color-emerald-800': string;\n 'color-emerald-900': string;\n 'color-emerald-950': string;\n 'color-teal-50': string;\n 'color-teal-100': string;\n 'color-teal-200': string;\n 'color-teal-300': string;\n 'color-teal-400': string;\n 'color-teal-500': string;\n 'color-teal-600': string;\n 'color-teal-700': string;\n 'color-teal-800': string;\n 'color-teal-900': string;\n 'color-teal-950': string;\n 'color-cyan-50': string;\n 'color-cyan-100': string;\n 'color-cyan-200': string;\n 'color-cyan-300': string;\n 'color-cyan-400': string;\n 'color-cyan-500': string;\n 'color-cyan-600': string;\n 'color-cyan-700': string;\n 'color-cyan-800': string;\n 'color-cyan-900': string;\n 'color-cyan-950': string;\n 'color-sky-50': string;\n 'color-sky-100': string;\n 'color-sky-200': string;\n 'color-sky-300': string;\n 'color-sky-400': string;\n 'color-sky-500': string;\n 'color-sky-600': string;\n 'color-sky-700': string;\n 'color-sky-800': string;\n 'color-sky-900': string;\n 'color-sky-950': string;\n 'color-blue-50': string;\n 'color-blue-100': string;\n 'color-blue-200': string;\n 'color-blue-300': string;\n 'color-blue-400': string;\n 'color-blue-500': string;\n 'color-blue-600': string;\n 'color-blue-700': string;\n 'color-blue-800': string;\n 'color-blue-900': string;\n 'color-blue-950': string;\n 'color-indigo-50': string;\n 'color-indigo-100': string;\n 'color-indigo-200': string;\n 'color-indigo-300': string;\n 'color-indigo-400': string;\n 'color-indigo-500': string;\n 'color-indigo-600': string;\n 'color-indigo-700': string;\n 'color-indigo-800': string;\n 'color-indigo-900': string;\n 'color-indigo-950': string;\n 'color-violet-50': string;\n 'color-violet-100': string;\n 'color-violet-200': string;\n 'color-violet-300': string;\n 'color-violet-400': string;\n 'color-violet-500': string;\n 'color-violet-600': string;\n 'color-violet-700': string;\n 'color-violet-800': string;\n 'color-violet-900': string;\n 'color-violet-950': string;\n 'color-purple-50': string;\n 'color-purple-100': string;\n 'color-purple-200': string;\n 'color-purple-300': string;\n 'color-purple-400': string;\n 'color-purple-500': string;\n 'color-purple-600': string;\n 'color-purple-700': string;\n 'color-purple-800': string;\n 'color-purple-900': string;\n 'color-purple-950': string;\n 'color-fuchsia-50': string;\n 'color-fuchsia-100': string;\n 'color-fuchsia-200': string;\n 'color-fuchsia-300': string;\n 'color-fuchsia-400': string;\n 'color-fuchsia-500': string;\n 'color-fuchsia-600': string;\n 'color-fuchsia-700': string;\n 'color-fuchsia-800': string;\n 'color-fuchsia-900': string;\n 'color-fuchsia-950': string;\n 'color-pink-50': string;\n 'color-pink-100': string;\n 'color-pink-200': string;\n 'color-pink-300': string;\n 'color-pink-400': string;\n 'color-pink-500': string;\n 'color-pink-600': string;\n 'color-pink-700': string;\n 'color-pink-800': string;\n 'color-pink-900': string;\n 'color-pink-950': string;\n 'color-rose-50': string;\n 'color-rose-100': string;\n 'color-rose-200': string;\n 'color-rose-300': string;\n 'color-rose-400': string;\n 'color-rose-500': string;\n 'color-rose-600': string;\n 'color-rose-700': string;\n 'color-rose-800': string;\n 'color-rose-900': string;\n 'color-rose-950': string;\n 'color-neutral-black': string;\n 'color-neutral-white': string;\n 'typography-font-sans': string;\n 'typography-text-sm': string;\n 'typography-text-base': string;\n 'typography-text-lg': string;\n 'typography-text-xl': string;\n 'typography-text-2xl': string;\n 'typography-text-3xl': string;\n 'typography-text-4xl': string;\n 'typography-text-5xl': string;\n 'typography-text-6xl': string;\n 'typography-text-7xl': string;\n 'typography-leading-1': string;\n 'typography-leading-2': string;\n 'typography-leading-3': string;\n 'typography-leading-4': string;\n 'typography-leading-5': string;\n 'typography-leading-6': string;\n 'typography-leading-7': string;\n 'typography-leading-8': string;\n 'typography-leading-9': string;\n 'typography-leading-10': string;\n 'font-weight-500': string;\n 'font-weight-600': string;\n 'font-weight-700': string;\n 'tracking-0': string;\n 'typography-paragraph-8': string;\n 'typography-paragraph-16': string;\n 'typography-paragraph-20': string;\n 'typography-paragraph-24': string;\n 'spacing-unit-2px': string;\n 'spacing-unit-4px': string;\n 'spacing-unit-6px': string;\n 'spacing-unit-8px': string;\n 'spacing-unit-10px': string;\n 'spacing-unit-12px': string;\n 'spacing-unit-14px': string;\n 'spacing-unit-16px': string;\n 'spacing-unit-24px': string;\n 'spacing-unit-32px': string;\n 'spacing-unit-40px': string;\n 'spacing-unit-0px': string;\n 'spacing-unit-128px': string;\n 'spacing-unit--8px': string;\n 'spacing-unit--16px': string;\n 'spacing-unit--4px': string;\n 'spacing-unit-1px': string;\n 'spacing-unit-64px': string;\n 'spacing-unit--24px': string;\n 'radius-unit-corner-radius-xs': string;\n 'radius-unit-corner-radius-sm': string;\n 'radius-unit-corner-radius-md': string;\n 'radius-unit-corner-radius-lg': string;\n 'radius-unit-corner-radius-xl': string;\n 'radius-unit-corner-radius-2xl': string;\n 'radius-unit-corner-radius-3xl': string;\n 'radius-unit-corner-radius-5xl': string;\n 'radius-unit-corner-radius-none': string;\n 'radius-unit-corner-radius-rounded-full': string;\n 'radius-unit-corner-radius-6xl': string;\n 'radius-unit-corner-radius-7xl': string;\n 'radius-unit-corner-radius-4xl': string;\n 'border-width-unit-border-width-sm': string;\n 'border-width-unit-border-width-md': string;\n 'border-width-unit-border-width-lg': string;\n 'opacity-unit-xs': string;\n 'opacity-unit-sm': string;\n 'opacity-unit-md': string;\n 'opacity-unit-lg': string;\n 'opacity-unit-xl': string;\n 'opacity-unit-2xl': string;\n 'unit-blur-xs': string;\n 'unit-blur-sm': string;\n 'unit-blur-md': string;\n 'unit-blur-lg': string;\n 'unit-blur-xl': string;\n 'unit-blur-2xl': string;\n 'unit-blur-none': string;\n 'color-button-primary-enabled': string;\n 'color-button-primary-hovered': string;\n 'color-button-primary-pressed': string;\n 'color-button-primary-disabled': string;\n 'color-button-secondary-enabled': string;\n 'color-button-secondary-hovered': string;\n 'color-button-secondary-pressed': string;\n 'color-button-secondary-disabled': string;\n 'color-button-outline-enabled': string;\n 'color-button-outline-hovered': string;\n 'color-button-outline-pressed': string;\n 'color-button-outline-disabled': string;\n 'color-button-destructive-enabled': string;\n 'color-button-destructive-hovered': string;\n 'color-button-destructive-pressed': string;\n 'color-button-destructive-disabled': string;\n 'color-button-soft-enabled': string;\n 'color-button-soft-hovered': string;\n 'color-button-soft-pressed': string;\n 'color-button-soft-disabled': string;\n 'color-button-ghost-enabled': string;\n 'color-button-ghost-hovered': string;\n 'color-button-ghost-pressed': string;\n 'color-button-ghost-disabled': string;\n 'color-button-glass-enabled': string;\n 'color-button-glass-hovered': string;\n 'color-button-glass-pressed': string;\n 'color-button-glass-disabled': string;\n 'color-chip-slate-enabled': string;\n 'color-chip-slate-hovered': string;\n 'color-chip-red-enabled': string;\n 'color-chip-red-hovered': string;\n 'color-chip-orange-enabled': string;\n 'color-chip-orange-hovered': string;\n 'color-chip-amber-enabled': string;\n 'color-chip-amber-hovered': string;\n 'color-chip-yellow-enabled': string;\n 'color-chip-yellow-hovered': string;\n 'color-chip-lime-enabled': string;\n 'color-chip-lime-hovered': string;\n 'color-chip-green-enabled': string;\n 'color-chip-green-hovered': string;\n 'color-chip-emerald-enabled': string;\n 'color-chip-emerald-hovered': string;\n 'color-chip-teal-enabled': string;\n 'color-chip-teal-hovered': string;\n 'color-chip-cyan-enabled': string;\n 'color-chip-cyan-hovered': string;\n 'color-chip-sky-enabled': string;\n 'color-chip-sky-hovered': string;\n 'color-chip-blue-enabled': string;\n 'color-chip-blue-hovered': string;\n 'color-chip-indigo-enabled': string;\n 'color-chip-indigo-hovered': string;\n 'color-chip-violet-enabled': string;\n 'color-chip-violet-hovered': string;\n 'color-chip-purple-enabled': string;\n 'color-chip-purple-hovered': string;\n 'color-chip-fuchsia-enabled': string;\n 'color-chip-fuchsia-hovered': string;\n 'color-chip-pink-enabled': string;\n 'color-chip-pink-hovered': string;\n 'color-chip-rose-enabled': string;\n 'color-chip-rose-hovered': string;\n 'color-data-table-unselected-enabled': string;\n 'color-data-table-unselected-hovered': string;\n 'color-data-table-unselected-focused': string;\n 'color-data-table-selected-enabled': string;\n 'color-data-table-selected-hovered': string;\n 'color-data-table-selected-focused': string;\n 'color-check-box-and-radio-checked-enabled': string;\n 'color-check-box-and-radio-checked-hovered': string;\n 'color-check-box-and-radio-checked-disabled': string;\n 'color-check-box-and-radio-unchecked-enabled': string;\n 'color-check-box-and-radio-unchecked-disabled': string;\n 'color-check-box-and-radio-unchecked-hovered': string;\n 'color-input-outline-enabled': string;\n 'color-input-outline-disabled': string;\n 'color-input-outline-hovered': string;\n 'color-input-ghost-enabled': string;\n 'color-input-ghost-hovered': string;\n 'color-input-ghost-disabled': string;\n 'color-button-switch-on-enabled': string;\n 'color-button-switch-on-hovered': string;\n 'color-button-switch-on-disabled': string;\n 'color-button-switch-off-enabled': string;\n 'color-button-switch-off-hovered': string;\n 'color-button-switch-off-disabled': string;\n 'color-chat-bubble-primary-enabled': string;\n 'color-chat-bubble-primary-hovered': string;\n 'color-chat-bubble-neutral-enabled': string;\n 'color-chat-bubble-neutral-hovered': string;\n 'color-button-toggle-unselected-primary-enabled': string;\n 'color-button-toggle-unselected-primary-hovered': string;\n 'color-button-toggle-unselected-primary-pressed': string;\n 'color-button-toggle-unselected-secondary-enabled': string;\n 'color-button-toggle-unselected-secondary-hovered': string;\n 'color-button-toggle-unselected-secondary-pressed': string;\n 'color-button-toggle-unselected-destructive-enabled': string;\n 'color-button-toggle-unselected-destructive-hovered': string;\n 'color-button-toggle-unselected-destructive-pressed': string;\n 'color-button-toggle-selected-primary-enabled': string;\n 'color-button-toggle-selected-primary-hovered': string;\n 'color-button-toggle-selected-primary-pressed': string;\n 'color-button-toggle-selected-secondary-enabled': string;\n 'color-button-toggle-selected-secondary-hovered': string;\n 'color-button-toggle-selected-secondary-pressed': string;\n 'color-button-toggle-selected-destructive-enabled': string;\n 'color-button-toggle-selected-destructive-hovered': string;\n 'color-button-toggle-selected-destructive-pressed': string;\n 'color-tab-primary-enabled': string;\n 'color-tab-primary-hovered': string;\n 'color-tab-primary-pressed': string;\n 'color-tab-primary-active': string;\n 'color-menu-panel-unselected-enabled': string;\n 'color-menu-panel-unselected-hovered': string;\n 'color-menu-panel-selected-enabled': string;\n 'color-menu-panel-selected-hovered': string;\n 'color-toast-error': string;\n 'color-toast-warning': string;\n 'color-toast-success': string;\n 'color-toast-info': string;\n 'color-navigation-hovered': string;\n 'color-navigation-selected': string;\n 'color-toggle-ghost-inactive-enabled': string;\n 'color-toggle-ghost-inactive-hovered': string;\n 'color-toggle-ghost-inactive-pressed': string;\n 'color-toggle-ghost-inactive-disabled': string;\n 'color-toggle-ghost-active-enabled': string;\n 'color-toggle-ghost-active-hovered': string;\n 'color-toggle-ghost-active-pressed': string;\n 'color-toggle-ghost-active-disabled': string;\n 'color-toggle-outline-active-enabled': string;\n 'color-toggle-outline-active-hovered': string;\n 'color-toggle-outline-active-pressed': string;\n 'color-toggle-outline-active-disabled': string;\n 'color-toggle-outline-inactive-enabled': string;\n 'color-toggle-outline-inactive-hovered': string;\n 'color-toggle-outline-inactive-pressed': string;\n 'color-toggle-outline-inactive-disabled': string;\n 'color-toggle-soft-active-enabled': string;\n 'color-toggle-soft-active-hovered': string;\n 'color-toggle-soft-active-pressed': string;\n 'color-toggle-soft-active-disabled': string;\n 'color-toggle-soft-inactive-enabled': string;\n 'color-toggle-soft-inactive-hovered': string;\n 'color-toggle-soft-inactive-pressed': string;\n 'color-toggle-soft-inactive-disabled': string;\n 'color-utility-tab-inactive-enabled': string;\n 'color-utility-tab-inactive-hovered': string;\n 'color-utility-tab-active-enabled': string;\n 'color-utility-tab-active-hovered': string;\n 'color-filter-chip-unselected-enabled': string;\n 'color-filter-chip-unselected-hovered': string;\n 'color-filter-chip-selected-enabled': string;\n 'color-filter-chip-selected-hovered': string;\n 'pagination-page-tab-enabled': string;\n 'pagination-page-tab-hovered': string;\n 'pagination-page-tab-pressed': string;\n 'pagination-page-tab-actived': string;\n 'color-comment-opened-enabled': string;\n 'color-comment-opened-hovered': string;\n 'color-comment-opened-actived': string;\n 'color-comment-closed-enabled': string;\n 'color-comment-closed-hovered': string;\n 'color-comment-closed-actived': string;\n 'list-enabled': string;\n 'list-hovered': string;\n 'list-actived': string;\n 'color-dropdown-hovered': string;\n 'color-notificationCard-enabled': string;\n 'color-notificationCard-hovered': string;\n 'color-table-table-cell-unselected': string;\n 'color-table-table-cell-selected': string;\n 'color-table-table-header-default': string;\n 'color-fill-background': string;\n 'color-fill-foreground': string;\n 'color-fill-static-red-01': string;\n 'color-fill-static-red-03': string;\n 'color-fill-static-red-05': string;\n 'color-fill-static-red-04': string;\n 'color-fill-static-red-02': string;\n 'color-fill-static-red-06': string;\n 'color-fill-static-orange-01': string;\n 'color-fill-static-orange-02': string;\n 'color-fill-static-orange-03': string;\n 'color-fill-static-amber-01': string;\n 'color-fill-static-amber-02': string;\n 'color-fill-static-amber-03': string;\n 'color-fill-static-yellow-01': string;\n 'color-fill-static-yellow-02': string;\n 'color-fill-static-yellow-03': string;\n 'color-fill-static-lime-01': string;\n 'color-fill-static-lime-02': string;\n 'color-fill-static-lime-03': string;\n 'color-fill-static-green-01': string;\n 'color-fill-static-green-03': string;\n 'color-fill-static-green-05': string;\n 'color-fill-static-green-02': string;\n 'color-fill-static-green-04': string;\n 'color-fill-static-emerald-01': string;\n 'color-fill-static-emerald-02': string;\n 'color-fill-static-emerald-03': string;\n 'color-fill-static-teal-01': string;\n 'color-fill-static-teal-02': string;\n 'color-fill-static-teal-03': string;\n 'color-fill-static-cyan-01': string;\n 'color-fill-static-cyan-02': string;\n 'color-fill-static-cyan-03': string;\n 'color-fill-static-sky-01': string;\n 'color-fill-static-sky-02': string;\n 'color-fill-static-sky-03': string;\n 'color-fill-static-blue-01': string;\n 'color-fill-static-blue-03': string;\n 'color-fill-static-blue-05': string;\n 'color-fill-static-blue-02': string;\n 'color-fill-static-blue-04': string;\n 'color-fill-static-blue-06': string;\n 'color-fill-static-indigo-01': string;\n 'color-fill-static-indigo-02': string;\n 'color-fill-static-indigo-03': string;\n 'color-fill-static-violet-01': string;\n 'color-fill-static-violet-02': string;\n 'color-fill-static-violet-03': string;\n 'color-fill-static-purple-01': string;\n 'color-fill-static-purple-02': string;\n 'color-fill-static-purple-03': string;\n 'color-fill-static-fuchsia-01': string;\n 'color-fill-static-fuchsia-02': string;\n 'color-fill-static-fuchsia-03': string;\n 'color-fill-static-pink-01': string;\n 'color-fill-static-pink-02': string;\n 'color-fill-static-pink-03': string;\n 'color-fill-static-rose-01': string;\n 'color-fill-static-rose-02': string;\n 'color-fill-static-rose-dark': string;\n 'color-fill-static-slate-01': string;\n 'color-fill-static-slate-02': string;\n 'color-fill-static-slate-03': string;\n 'color-fill-static-slate-04': string;\n 'color-fill-static-slate-05': string;\n 'color-fill-inverse-slate-10': string;\n 'color-fill-inverse-slate-01': string;\n 'color-fill-inverse-slate-03': string;\n 'color-fill-inverse-slate-07': string;\n 'color-fill-inverse-slate-06': string;\n 'color-fill-inverse-slate-08': string;\n 'color-fill-inverse-slate-09': string;\n 'color-fill-inverse-slate-04': string;\n 'color-fill-inverse-slate-05': string;\n 'color-fill-inverse-slate-02': string;\n 'color-fill-inverse-blue-01': string;\n 'color-fill-inverse-blue-02': string;\n 'color-fill-inverse-red-01': string;\n 'color-fill-inverse-red-02': string;\n 'color-fill-inverse-orange-01': string;\n 'color-fill-inverse-orange-02': string;\n 'color-fill-inverse-yellow-01': string;\n 'color-fill-inverse-yellow-02': string;\n 'color-fill-inverse-lime-01': string;\n 'color-fill-inverse-lime-02': string;\n 'color-fill-inverse-green-01': string;\n 'color-fill-inverse-green-02': string;\n 'color-fill-inverse-emerald-01': string;\n 'color-fill-inverse-emerald-02': string;\n 'color-fill-inverse-teal-01': string;\n 'color-fill-inverse-teal-02': string;\n 'color-fill-inverse-cyan-01': string;\n 'color-fill-inverse-cyan-02': string;\n 'color-fill-inverse-sky-01': string;\n 'color-fill-inverse-sky-02': string;\n 'color-fill-inverse-violet-01': string;\n 'color-fill-inverse-violet-02': string;\n 'color-fill-inverse-indigo-01': string;\n 'color-fill-inverse-indigo-02': string;\n 'color-fill-inverse-purple-01': string;\n 'color-fill-inverse-purple-02': string;\n 'color-fill-inverse-fuchsia-01': string;\n 'color-fill-inverse-fuchsia-02': string;\n 'color-fill-inverse-pink-01': string;\n 'color-fill-inverse-pink-02': string;\n 'color-fill-inverse-rose-01': string;\n 'color-fill-inverse-rose-02': string;\n 'color-fill-inverse-amber-01': string;\n 'color-fill-inverse-amber-02': string;\n 'color-stroke-inverse-slate-01': string;\n 'color-stroke-inverse-slate-03': string;\n 'color-stroke-inverse-slate-04': string;\n 'color-stroke-inverse-slate-02': string;\n 'color-stroke-inverse-red-01': string;\n 'color-stroke-inverse-red-02': string;\n 'color-stroke-inverse-orange-01': string;\n 'color-stroke-inverse-orange-02': string;\n 'color-stroke-inverse-amber-01': string;\n 'color-stroke-inverse-amber-02': string;\n 'color-stroke-inverse-yellow-01': string;\n 'color-stroke-inverse-yellow-02': string;\n 'color-stroke-inverse-lime-01': string;\n 'color-stroke-inverse-lime-02': string;\n 'color-stroke-inverse-green-01': string;\n 'color-stroke-inverse-green-02': string;\n 'color-stroke-inverse-emerald-01': string;\n 'color-stroke-inverse-emerald-02': string;\n 'color-stroke-inverse-teal-01': string;\n 'color-stroke-inverse-teal-02': string;\n 'color-stroke-inverse-cyan-01': string;\n 'color-stroke-inverse-cyan-02': string;\n 'color-stroke-inverse-sky-01': string;\n 'color-stroke-inverse-sky-02': string;\n 'color-stroke-inverse-blue-01': string;\n 'color-stroke-inverse-blue-02': string;\n 'color-stroke-inverse-indigo-01': string;\n 'color-stroke-inverse-indigo-02': string;\n 'color-stroke-inverse-violet-01': string;\n 'color-stroke-inverse-violet-02': string;\n 'color-stroke-inverse-purple-01': string;\n 'color-stroke-inverse-purple-02': string;\n 'color-stroke-inverse-fuchsia-01': string;\n 'color-stroke-inverse-fuchsia-02': string;\n 'color-stroke-inverse-pink-01': string;\n 'color-stroke-inverse-pink-02': string;\n 'color-stroke-inverse-rose-01': string;\n 'color-stroke-inverse-rose-02': string;\n 'color-stroke-static-slate-01': string;\n 'color-stroke-static-slate-02': string;\n 'color-stroke-static-slate-03': string;\n 'color-stroke-static-slate-04': string;\n 'color-stroke-static-slate-05': string;\n 'color-stroke-static-red-01': string;\n 'color-stroke-static-red-02': string;\n 'color-stroke-static-red-03': string;\n 'color-stroke-static-red-04': string;\n 'color-stroke-static-red-05': string;\n 'color-stroke-static-orange-01': string;\n 'color-stroke-static-orange-02': string;\n 'color-stroke-static-orange-03': string;\n 'color-stroke-static-amber-01': string;\n 'color-stroke-static-amber-02': string;\n 'color-stroke-static-amber-03': string;\n 'color-stroke-static-yellow-01': string;\n 'color-stroke-static-yellow-02': string;\n 'color-stroke-static-yellow-03': string;\n 'color-stroke-static-lime-01': string;\n 'color-stroke-static-lime-02': string;\n 'color-stroke-static-lime-03': string;\n 'color-stroke-static-green-01': string;\n 'color-stroke-static-green-02': string;\n 'color-stroke-static-green-03': string;\n 'color-stroke-static-emerald-01': string;\n 'color-stroke-static-emerald-02': string;\n 'color-stroke-static-emerald-03': string;\n 'color-stroke-static-teal-01': string;\n 'color-stroke-static-teal-02': string;\n 'color-stroke-static-teal-03': string;\n 'color-stroke-static-cyan-01': string;\n 'color-stroke-static-cyan-02': string;\n 'color-stroke-static-cyan-03': string;\n 'color-stroke-static-sky-01': string;\n 'color-stroke-static-sky-02': string;\n 'color-stroke-static-sky-03': string;\n 'color-stroke-static-blue-01': string;\n 'color-stroke-static-blue-02': string;\n 'color-stroke-static-blue-03': string;\n 'color-stroke-static-blue-04': string;\n 'color-stroke-static-blue-05': string;\n 'color-stroke-static-indigo-01': string;\n 'color-stroke-static-indigo-02': string;\n 'color-stroke-static-indigo-03': string;\n 'color-stroke-static-violet-01': string;\n 'color-stroke-static-violet-02': string;\n 'color-stroke-static-violet-03': string;\n 'color-stroke-static-purple-01': string;\n 'color-stroke-static-purple-02': string;\n 'color-stroke-static-purple-03': string;\n 'color-stroke-static-fuchsia-01': string;\n 'color-stroke-static-fuchsia-02': string;\n 'color-stroke-static-fuchsia-03': string;\n 'color-stroke-static-pink-01': string;\n 'color-stroke-static-pink-02': string;\n 'color-stroke-static-pink-03': string;\n 'color-stroke-static-rose-01': string;\n 'color-stroke-static-rose-02': string;\n 'color-stroke-static-rose-dark': string;\n 'color-element-inverse-default': string;\n 'color-element-inverse-gray': string;\n 'color-element-inverse-disabled': string;\n 'color-element-inverse-red': string;\n 'color-element-inverse-default-alt': string;\n 'color-element-inverse-blue': string;\n 'color-element-inverse-orange': string;\n 'color-element-inverse-amber': string;\n 'color-element-inverse-yellow': string;\n 'color-element-inverse-lime': string;\n 'color-element-inverse-green': string;\n 'color-element-inverse-emerald': string;\n 'color-element-inverse-teal': string;\n 'color-element-inverse-cyan': string;\n 'color-element-inverse-sky': string;\n 'color-element-inverse-indigo': string;\n 'color-element-inverse-violet': string;\n 'color-element-inverse-purple': string;\n 'color-element-inverse-fuchsia': string;\n 'color-element-inverse-pink': string;\n 'color-element-inverse-rose': string;\n 'color-element-inverse-soft': string;\n 'color-element-static-black': string;\n 'color-element-static-white': string;\n 'color-element-static-red': string;\n 'color-element-static-blue': string;\n 'color-element-static-orange': string;\n 'color-element-static-amber': string;\n 'color-element-static-yellow': string;\n 'color-element-static-lime': string;\n 'color-element-static-green': string;\n 'color-element-static-emerald': string;\n 'color-element-static-teal': string;\n 'color-element-static-cyan': string;\n 'color-element-static-sky': string;\n 'color-element-static-indigo': string;\n 'color-element-static-violet': string;\n 'color-element-static-purple': string;\n 'color-element-static-fuchsia': string;\n 'color-element-static-pink': string;\n 'color-element-static-rose': string;\n 'color-chart-inverse-slate-10': string;\n 'color-chart-inverse-slate-11': string;\n 'color-chart-inverse-slate-01': string;\n 'color-chart-inverse-slate-02': string;\n 'color-chart-inverse-slate-03': string;\n 'color-chart-inverse-slate-04': string;\n 'color-chart-inverse-slate-05': string;\n 'color-chart-inverse-slate-06': string;\n 'color-chart-inverse-slate-08': string;\n 'color-chart-inverse-slate-09': string;\n 'color-chart-inverse-slate-07': string;\n 'color-chart-inverse-red-10': string;\n 'color-chart-inverse-red-11': string;\n 'color-chart-inverse-red-01': string;\n 'color-chart-inverse-red-02': string;\n 'color-chart-inverse-red-03': string;\n 'color-chart-inverse-red-04': string;\n 'color-chart-inverse-red-05': string;\n 'color-chart-inverse-red-06': string;\n 'color-chart-inverse-red-07': string;\n 'color-chart-inverse-red-08': string;\n 'color-chart-inverse-red-09': string;\n 'color-chart-inverse-orange-10': string;\n 'color-chart-inverse-orange-11': string;\n 'color-chart-inverse-orange-01': string;\n 'color-chart-inverse-orange-02': string;\n 'color-chart-inverse-orange-03': string;\n 'color-chart-inverse-orange-04': string;\n 'color-chart-inverse-orange-05': string;\n 'color-chart-inverse-orange-06': string;\n 'color-chart-inverse-orange-07': string;\n 'color-chart-inverse-orange-08': string;\n 'color-chart-inverse-orange-09': string;\n 'color-chart-inverse-amber-10': string;\n 'color-chart-inverse-amber-11': string;\n 'color-chart-inverse-amber-01': string;\n 'color-chart-inverse-amber-02': string;\n 'color-chart-inverse-amber-03': string;\n 'color-chart-inverse-amber-04': string;\n 'color-chart-inverse-amber-05': string;\n 'color-chart-inverse-amber-06': string;\n 'color-chart-inverse-amber-07': string;\n 'color-chart-inverse-amber-08': string;\n 'color-chart-inverse-amber-09': string;\n 'color-chart-inverse-yellow-10': string;\n 'color-chart-inverse-yellow-11': string;\n 'color-chart-inverse-yellow-01': string;\n 'color-chart-inverse-yellow-02': string;\n 'color-chart-inverse-yellow-03': string;\n 'color-chart-inverse-yellow-04': string;\n 'color-chart-inverse-yellow-05': string;\n 'color-chart-inverse-yellow-06': string;\n 'color-chart-inverse-yellow-07': string;\n 'color-chart-inverse-yellow-08': string;\n 'color-chart-inverse-yellow-09': string;\n 'color-chart-inverse-blue-10': string;\n 'color-chart-inverse-blue-11': string;\n 'color-chart-inverse-blue-01': string;\n 'color-chart-inverse-blue-02': string;\n 'color-chart-inverse-blue-03': string;\n 'color-chart-inverse-blue-04': string;\n 'color-chart-inverse-blue-05': string;\n 'color-chart-inverse-blue-06': string;\n 'color-chart-inverse-blue-07': string;\n 'color-chart-inverse-blue-08': string;\n 'color-chart-inverse-blue-09': string;\n 'color-chart-inverse-indigo-10': string;\n 'color-chart-inverse-indigo-11': string;\n 'color-chart-inverse-indigo-01': string;\n 'color-chart-inverse-indigo-02': string;\n 'color-chart-inverse-indigo-03': string;\n 'color-chart-inverse-indigo-04': string;\n 'color-chart-inverse-indigo-05': string;\n 'color-chart-inverse-indigo-06': string;\n 'color-chart-inverse-indigo-07': string;\n 'color-chart-inverse-indigo-08': string;\n 'color-chart-inverse-indigo-09': string;\n 'color-chart-inverse-sky-10': string;\n 'color-chart-inverse-sky-11': string;\n 'color-chart-inverse-sky-01': string;\n 'color-chart-inverse-sky-02': string;\n 'color-chart-inverse-sky-03': string;\n 'color-chart-inverse-sky-04': string;\n 'color-chart-inverse-sky-05': string;\n 'color-chart-inverse-sky-06': string;\n 'color-chart-inverse-sky-07': string;\n 'color-chart-inverse-sky-08': string;\n 'color-chart-inverse-sky-09': string;\n 'color-chart-inverse-cyan-10': string;\n 'color-chart-inverse-cyan-11': string;\n 'color-chart-inverse-cyan-01': string;\n 'color-chart-inverse-cyan-02': string;\n 'color-chart-inverse-cyan-03': string;\n 'color-chart-inverse-cyan-04': string;\n 'color-chart-inverse-cyan-05': string;\n 'color-chart-inverse-cyan-06': string;\n 'color-chart-inverse-cyan-07': string;\n 'color-chart-inverse-cyan-08': string;\n 'color-chart-inverse-cyan-09': string;\n 'color-chart-inverse-teal-10': string;\n 'color-chart-inverse-teal-11': string;\n 'color-chart-inverse-teal-01': string;\n 'color-chart-inverse-teal-02': string;\n 'color-chart-inverse-teal-03': string;\n 'color-chart-inverse-teal-04': string;\n 'color-chart-inverse-teal-05': string;\n 'color-chart-inverse-teal-06': string;\n 'color-chart-inverse-teal-07': string;\n 'color-chart-inverse-teal-08': string;\n 'color-chart-inverse-teal-09': string;\n 'color-chart-inverse-emerald-10': string;\n 'color-chart-inverse-emerald-11': string;\n 'color-chart-inverse-emerald-01': string;\n 'color-chart-inverse-emerald-02': string;\n 'color-chart-inverse-emerald-03': string;\n 'color-chart-inverse-emerald-04': string;\n 'color-chart-inverse-emerald-05': string;\n 'color-chart-inverse-emerald-06': string;\n 'color-chart-inverse-emerald-07': string;\n 'color-chart-inverse-emerald-08': string;\n 'color-chart-inverse-emerald-09': string;\n 'color-chart-inverse-green-10': string;\n 'color-chart-inverse-green-11': string;\n 'color-chart-inverse-green-01': string;\n 'color-chart-inverse-green-02': string;\n 'color-chart-inverse-green-03': string;\n 'color-chart-inverse-green-04': string;\n 'color-chart-inverse-green-05': string;\n 'color-chart-inverse-green-06': string;\n 'color-chart-inverse-green-07': string;\n 'color-chart-inverse-green-08': string;\n 'color-chart-inverse-green-09': string;\n 'color-chart-inverse-lime-10': string;\n 'color-chart-inverse-lime-11': string;\n 'color-chart-inverse-lime-01': string;\n 'color-chart-inverse-lime-02': string;\n 'color-chart-inverse-lime-03': string;\n 'color-chart-inverse-lime-04': string;\n 'color-chart-inverse-lime-05': string;\n 'color-chart-inverse-lime-06': string;\n 'color-chart-inverse-lime-07': string;\n 'color-chart-inverse-lime-08': string;\n 'color-chart-inverse-lime-09': string;\n 'color-chart-inverse-violet-10': string;\n 'color-chart-inverse-violet-11': string;\n 'color-chart-inverse-violet-01': string;\n 'color-chart-inverse-violet-02': string;\n 'color-chart-inverse-violet-03': string;\n 'color-chart-inverse-violet-04': string;\n 'color-chart-inverse-violet-05': string;\n 'color-chart-inverse-violet-06': string;\n 'color-chart-inverse-violet-07': string;\n 'color-chart-inverse-violet-08': string;\n 'color-chart-inverse-violet-09': string;\n 'color-chart-inverse-purple-10': string;\n 'color-chart-inverse-purple-11': string;\n 'color-chart-inverse-purple-01': string;\n 'color-chart-inverse-purple-02': string;\n 'color-chart-inverse-purple-03': string;\n 'color-chart-inverse-purple-04': string;\n 'color-chart-inverse-purple-05': string;\n 'color-chart-inverse-purple-06': string;\n 'color-chart-inverse-purple-07': string;\n 'color-chart-inverse-purple-08': string;\n 'color-chart-inverse-purple-09': string;\n 'color-chart-inverse-fuchsia-10': string;\n 'color-chart-inverse-fuchsia-11': string;\n 'color-chart-inverse-fuchsia-01': string;\n 'color-chart-inverse-fuchsia-02': string;\n 'color-chart-inverse-fuchsia-03': string;\n 'color-chart-inverse-fuchsia-04': string;\n 'color-chart-inverse-fuchsia-05': string;\n 'color-chart-inverse-fuchsia-06': string;\n 'color-chart-inverse-fuchsia-07': string;\n 'color-chart-inverse-fuchsia-08': string;\n 'color-chart-inverse-fuchsia-09': string;\n 'color-chart-inverse-pink-10': string;\n 'color-chart-inverse-pink-11': string;\n 'color-chart-inverse-pink-01': string;\n 'color-chart-inverse-pink-02': string;\n 'color-chart-inverse-pink-03': string;\n 'color-chart-inverse-pink-04': string;\n 'color-chart-inverse-pink-05': string;\n 'color-chart-inverse-pink-06': string;\n 'color-chart-inverse-pink-07': string;\n 'color-chart-inverse-pink-08': string;\n 'color-chart-inverse-pink-09': string;\n 'color-chart-inverse-rose-10': string;\n 'color-chart-inverse-rose-11': string;\n 'color-chart-inverse-rose-01': string;\n 'color-chart-inverse-rose-02': string;\n 'color-chart-inverse-rose-03': string;\n 'color-chart-inverse-rose-04': string;\n 'color-chart-inverse-rose-05': string;\n 'color-chart-inverse-rose-06': string;\n 'color-chart-inverse-rose-07': string;\n 'color-chart-inverse-rose-08': string;\n 'color-chart-inverse-rose-09': string;\n 'color-opacity-inverse-10': string;\n 'color-opacity-inverse-01': string;\n 'color-opacity-inverse-02': string;\n 'color-opacity-inverse-03': string;\n 'color-opacity-inverse-04': string;\n 'color-opacity-inverse-05': string;\n 'color-opacity-inverse-06': string;\n 'color-opacity-inverse-07': string;\n 'color-opacity-inverse-08': string;\n 'color-opacity-inverse-09': string;\n 'color-opacity-inverse-00': string;\n 'color-opacity-static-10': string;\n 'color-opacity-static-01': string;\n 'color-opacity-static-02': string;\n 'color-opacity-static-03': string;\n 'color-opacity-static-04': string;\n 'color-opacity-static-05': string;\n 'color-opacity-static-06': string;\n 'color-opacity-static-07': string;\n 'color-opacity-static-08': string;\n 'color-opacity-static-09': string;\n 'color-opacity-static-00': string;\n 'text-caption': string;\n 'text-body-sm': string;\n 'text-body-lg': string;\n 'text-title-sm': string;\n 'text-title-lg': string;\n 'text-h6': string;\n 'text-h5': string;\n 'text-h4': string;\n 'text-h3': string;\n 'text-h2': string;\n 'text-h1': string;\n 'text-bullet-point': string;\n 'leading-caption': string;\n 'leading-body-sm': string;\n 'leading-body-lg': string;\n 'leading-title-sm': string;\n 'leading-title-lg': string;\n 'leading-h6': string;\n 'leading-h5': string;\n 'leading-h4': string;\n 'leading-h3': string;\n 'leading-h2': string;\n 'leading-h1': string;\n 'leading-bullet-point': string;\n 'font-weight-medium': string;\n 'font-weight-semibold': string;\n 'font-weight-bold': string;\n 'typography-letter-spacing': string;\n}\n\nexport const designTokens: DesignTokens = {\n 'color-slate-50': 'var(--color-slate-50)',\n 'color-slate-100': 'var(--color-slate-100)',\n 'color-slate-200': 'var(--color-slate-200)',\n 'color-slate-300': 'var(--color-slate-300)',\n 'color-slate-400': 'var(--color-slate-400)',\n 'color-slate-500': 'var(--color-slate-500)',\n 'color-slate-600': 'var(--color-slate-600)',\n 'color-slate-700': 'var(--color-slate-700)',\n 'color-slate-800': 'var(--color-slate-800)',\n 'color-slate-900': 'var(--color-slate-900)',\n 'color-slate-950': 'var(--color-slate-950)',\n 'color-red-50': 'var(--color-red-50)',\n 'color-red-100': 'var(--color-red-100)',\n 'color-red-200': 'var(--color-red-200)',\n 'color-red-300': 'var(--color-red-300)',\n 'color-red-400': 'var(--color-red-400)',\n 'color-red-500': 'var(--color-red-500)',\n 'color-red-600': 'var(--color-red-600)',\n 'color-red-700': 'var(--color-red-700)',\n 'color-red-800': 'var(--color-red-800)',\n 'color-red-900': 'var(--color-red-900)',\n 'color-red-950': 'var(--color-red-950)',\n 'color-orange-50': 'var(--color-orange-50)',\n 'color-orange-100': 'var(--color-orange-100)',\n 'color-orange-200': 'var(--color-orange-200)',\n 'color-orange-300': 'var(--color-orange-300)',\n 'color-orange-400': 'var(--color-orange-400)',\n 'color-orange-500': 'var(--color-orange-500)',\n 'color-orange-600': 'var(--color-orange-600)',\n 'color-orange-700': 'var(--color-orange-700)',\n 'color-orange-800': 'var(--color-orange-800)',\n 'color-orange-900': 'var(--color-orange-900)',\n 'color-orange-950': 'var(--color-orange-950)',\n 'color-amber-50': 'var(--color-amber-50)',\n 'color-amber-100': 'var(--color-amber-100)',\n 'color-amber-200': 'var(--color-amber-200)',\n 'color-amber-300': 'var(--color-amber-300)',\n 'color-amber-400': 'var(--color-amber-400)',\n 'color-amber-500': 'var(--color-amber-500)',\n 'color-amber-600': 'var(--color-amber-600)',\n 'color-amber-700': 'var(--color-amber-700)',\n 'color-amber-800': 'var(--color-amber-800)',\n 'color-amber-900': 'var(--color-amber-900)',\n 'color-amber-950': 'var(--color-amber-950)',\n 'color-yellow-50': 'var(--color-yellow-50)',\n 'color-yellow-100': 'var(--color-yellow-100)',\n 'color-yellow-200': 'var(--color-yellow-200)',\n 'color-yellow-300': 'var(--color-yellow-300)',\n 'color-yellow-400': 'var(--color-yellow-400)',\n 'color-yellow-500': 'var(--color-yellow-500)',\n 'color-yellow-600': 'var(--color-yellow-600)',\n 'color-yellow-700': 'var(--color-yellow-700)',\n 'color-yellow-800': 'var(--color-yellow-800)',\n 'color-yellow-900': 'var(--color-yellow-900)',\n 'color-yellow-950': 'var(--color-yellow-950)',\n 'color-lime-50': 'var(--color-lime-50)',\n 'color-lime-100': 'var(--color-lime-100)',\n 'color-lime-200': 'var(--color-lime-200)',\n 'color-lime-300': 'var(--color-lime-300)',\n 'color-lime-400': 'var(--color-lime-400)',\n 'color-lime-500': 'var(--color-lime-500)',\n 'color-lime-600': 'var(--color-lime-600)',\n 'color-lime-700': 'var(--color-lime-700)',\n 'color-lime-800': 'var(--color-lime-800)',\n 'color-lime-900': 'var(--color-lime-900)',\n 'color-lime-950': 'var(--color-lime-950)',\n 'color-green-50': 'var(--color-green-50)',\n 'color-green-100': 'var(--color-green-100)',\n 'color-green-200': 'var(--color-green-200)',\n 'color-green-300': 'var(--color-green-300)',\n 'color-green-400': 'var(--color-green-400)',\n 'color-green-500': 'var(--color-green-500)',\n 'color-green-600': 'var(--color-green-600)',\n 'color-green-700': 'var(--color-green-700)',\n 'color-green-800': 'var(--color-green-800)',\n 'color-green-900': 'var(--color-green-900)',\n 'color-green-950': 'var(--color-green-950)',\n 'color-emerald-50': 'var(--color-emerald-50)',\n 'color-emerald-100': 'var(--color-emerald-100)',\n 'color-emerald-200': 'var(--color-emerald-200)',\n 'color-emerald-300': 'var(--color-emerald-300)',\n 'color-emerald-400': 'var(--color-emerald-400)',\n 'color-emerald-500': 'var(--color-emerald-500)',\n 'color-emerald-600': 'var(--color-emerald-600)',\n 'color-emerald-700': 'var(--color-emerald-700)',\n 'color-emerald-800': 'var(--color-emerald-800)',\n 'color-emerald-900': 'var(--color-emerald-900)',\n 'color-emerald-950': 'var(--color-emerald-950)',\n 'color-teal-50': 'var(--color-teal-50)',\n 'color-teal-100': 'var(--color-teal-100)',\n 'color-teal-200': 'var(--color-teal-200)',\n 'color-teal-300': 'var(--color-teal-300)',\n 'color-teal-400': 'var(--color-teal-400)',\n 'color-teal-500': 'var(--color-teal-500)',\n 'color-teal-600': 'var(--color-teal-600)',\n 'color-teal-700': 'var(--color-teal-700)',\n 'color-teal-800': 'var(--color-teal-800)',\n 'color-teal-900': 'var(--color-teal-900)',\n 'color-teal-950': 'var(--color-teal-950)',\n 'color-cyan-50': 'var(--color-cyan-50)',\n 'color-cyan-100': 'var(--color-cyan-100)',\n 'color-cyan-200': 'var(--color-cyan-200)',\n 'color-cyan-300': 'var(--color-cyan-300)',\n 'color-cyan-400': 'var(--color-cyan-400)',\n 'color-cyan-500': 'var(--color-cyan-500)',\n 'color-cyan-600': 'var(--color-cyan-600)',\n 'color-cyan-700': 'var(--color-cyan-700)',\n 'color-cyan-800': 'var(--color-cyan-800)',\n 'color-cyan-900': 'var(--color-cyan-900)',\n 'color-cyan-950': 'var(--color-cyan-950)',\n 'color-sky-50': 'var(--color-sky-50)',\n 'color-sky-100': 'var(--color-sky-100)',\n 'color-sky-200': 'var(--color-sky-200)',\n 'color-sky-300': 'var(--color-sky-300)',\n 'color-sky-400': 'var(--color-sky-400)',\n 'color-sky-500': 'var(--color-sky-500)',\n 'color-sky-600': 'var(--color-sky-600)',\n 'color-sky-700': 'var(--color-sky-700)',\n 'color-sky-800': 'var(--color-sky-800)',\n 'color-sky-900': 'var(--color-sky-900)',\n 'color-sky-950': 'var(--color-sky-950)',\n 'color-blue-50': 'var(--color-blue-50)',\n 'color-blue-100': 'var(--color-blue-100)',\n 'color-blue-200': 'var(--color-blue-200)',\n 'color-blue-300': 'var(--color-blue-300)',\n 'color-blue-400': 'var(--color-blue-400)',\n 'color-blue-500': 'var(--color-blue-500)',\n 'color-blue-600': 'var(--color-blue-600)',\n 'color-blue-700': 'var(--color-blue-700)',\n 'color-blue-800': 'var(--color-blue-800)',\n 'color-blue-900': 'var(--color-blue-900)',\n 'color-blue-950': 'var(--color-blue-950)',\n 'color-indigo-50': 'var(--color-indigo-50)',\n 'color-indigo-100': 'var(--color-indigo-100)',\n 'color-indigo-200': 'var(--color-indigo-200)',\n 'color-indigo-300': 'var(--color-indigo-300)',\n 'color-indigo-400': 'var(--color-indigo-400)',\n 'color-indigo-500': 'var(--color-indigo-500)',\n 'color-indigo-600': 'var(--color-indigo-600)',\n 'color-indigo-700': 'var(--color-indigo-700)',\n 'color-indigo-800': 'var(--color-indigo-800)',\n 'color-indigo-900': 'var(--color-indigo-900)',\n 'color-indigo-950': 'var(--color-indigo-950)',\n 'color-violet-50': 'var(--color-violet-50)',\n 'color-violet-100': 'var(--color-violet-100)',\n 'color-violet-200': 'var(--color-violet-200)',\n 'color-violet-300': 'var(--color-violet-300)',\n 'color-violet-400': 'var(--color-violet-400)',\n 'color-violet-500': 'var(--color-violet-500)',\n 'color-violet-600': 'var(--color-violet-600)',\n 'color-violet-700': 'var(--color-violet-700)',\n 'color-violet-800': 'var(--color-violet-800)',\n 'color-violet-900': 'var(--color-violet-900)',\n 'color-violet-950': 'var(--color-violet-950)',\n 'color-purple-50': 'var(--color-purple-50)',\n 'color-purple-100': 'var(--color-purple-100)',\n 'color-purple-200': 'var(--color-purple-200)',\n 'color-purple-300': 'var(--color-purple-300)',\n 'color-purple-400': 'var(--color-purple-400)',\n 'color-purple-500': 'var(--color-purple-500)',\n 'color-purple-600': 'var(--color-purple-600)',\n 'color-purple-700': 'var(--color-purple-700)',\n 'color-purple-800': 'var(--color-purple-800)',\n 'color-purple-900': 'var(--color-purple-900)',\n 'color-purple-950': 'var(--color-purple-950)',\n 'color-fuchsia-50': 'var(--color-fuchsia-50)',\n 'color-fuchsia-100': 'var(--color-fuchsia-100)',\n 'color-fuchsia-200': 'var(--color-fuchsia-200)',\n 'color-fuchsia-300': 'var(--color-fuchsia-300)',\n 'color-fuchsia-400': 'var(--color-fuchsia-400)',\n 'color-fuchsia-500': 'var(--color-fuchsia-500)',\n 'color-fuchsia-600': 'var(--color-fuchsia-600)',\n 'color-fuchsia-700': 'var(--color-fuchsia-700)',\n 'color-fuchsia-800': 'var(--color-fuchsia-800)',\n 'color-fuchsia-900': 'var(--color-fuchsia-900)',\n 'color-fuchsia-950': 'var(--color-fuchsia-950)',\n 'color-pink-50': 'var(--color-pink-50)',\n 'color-pink-100': 'var(--color-pink-100)',\n 'color-pink-200': 'var(--color-pink-200)',\n 'color-pink-300': 'var(--color-pink-300)',\n 'color-pink-400': 'var(--color-pink-400)',\n 'color-pink-500': 'var(--color-pink-500)',\n 'color-pink-600': 'var(--color-pink-600)',\n 'color-pink-700': 'var(--color-pink-700)',\n 'color-pink-800': 'var(--color-pink-800)',\n 'color-pink-900': 'var(--color-pink-900)',\n 'color-pink-950': 'var(--color-pink-950)',\n 'color-rose-50': 'var(--color-rose-50)',\n 'color-rose-100': 'var(--color-rose-100)',\n 'color-rose-200': 'var(--color-rose-200)',\n 'color-rose-300': 'var(--color-rose-300)',\n 'color-rose-400': 'var(--color-rose-400)',\n 'color-rose-500': 'var(--color-rose-500)',\n 'color-rose-600': 'var(--color-rose-600)',\n 'color-rose-700': 'var(--color-rose-700)',\n 'color-rose-800': 'var(--color-rose-800)',\n 'color-rose-900': 'var(--color-rose-900)',\n 'color-rose-950': 'var(--color-rose-950)',\n 'color-neutral-black': 'var(--color-neutral-black)',\n 'color-neutral-white': 'var(--color-neutral-white)',\n 'typography-font-sans': 'var(--typography-font-sans)',\n 'typography-text-sm': 'var(--typography-text-sm)',\n 'typography-text-base': 'var(--typography-text-base)',\n 'typography-text-lg': 'var(--typography-text-lg)',\n 'typography-text-xl': 'var(--typography-text-xl)',\n 'typography-text-2xl': 'var(--typography-text-2xl)',\n 'typography-text-3xl': 'var(--typography-text-3xl)',\n 'typography-text-4xl': 'var(--typography-text-4xl)',\n 'typography-text-5xl': 'var(--typography-text-5xl)',\n 'typography-text-6xl': 'var(--typography-text-6xl)',\n 'typography-text-7xl': 'var(--typography-text-7xl)',\n 'typography-leading-1': 'var(--typography-leading-1)',\n 'typography-leading-2': 'var(--typography-leading-2)',\n 'typography-leading-3': 'var(--typography-leading-3)',\n 'typography-leading-4': 'var(--typography-leading-4)',\n 'typography-leading-5': 'var(--typography-leading-5)',\n 'typography-leading-6': 'var(--typography-leading-6)',\n 'typography-leading-7': 'var(--typography-leading-7)',\n 'typography-leading-8': 'var(--typography-leading-8)',\n 'typography-leading-9': 'var(--typography-leading-9)',\n 'typography-leading-10': 'var(--typography-leading-10)',\n 'font-weight-500': 'var(--font-weight-500)',\n 'font-weight-600': 'var(--font-weight-600)',\n 'font-weight-700': 'var(--font-weight-700)',\n 'tracking-0': 'var(--tracking-0)',\n 'typography-paragraph-8': 'var(--typography-paragraph-8)',\n 'typography-paragraph-16': 'var(--typography-paragraph-16)',\n 'typography-paragraph-20': 'var(--typography-paragraph-20)',\n 'typography-paragraph-24': 'var(--typography-paragraph-24)',\n 'spacing-unit-2px': 'var(--spacing-unit-2px)',\n 'spacing-unit-4px': 'var(--spacing-unit-4px)',\n 'spacing-unit-6px': 'var(--spacing-unit-6px)',\n 'spacing-unit-8px': 'var(--spacing-unit-8px)',\n 'spacing-unit-10px': 'var(--spacing-unit-10px)',\n 'spacing-unit-12px': 'var(--spacing-unit-12px)',\n 'spacing-unit-14px': 'var(--spacing-unit-14px)',\n 'spacing-unit-16px': 'var(--spacing-unit-16px)',\n 'spacing-unit-24px': 'var(--spacing-unit-24px)',\n 'spacing-unit-32px': 'var(--spacing-unit-32px)',\n 'spacing-unit-40px': 'var(--spacing-unit-40px)',\n 'spacing-unit-0px': 'var(--spacing-unit-0px)',\n 'spacing-unit-128px': 'var(--spacing-unit-128px)',\n 'spacing-unit--8px': 'var(--spacing-unit--8px)',\n 'spacing-unit--16px': 'var(--spacing-unit--16px)',\n 'spacing-unit--4px': 'var(--spacing-unit--4px)',\n 'spacing-unit-1px': 'var(--spacing-unit-1px)',\n 'spacing-unit-64px': 'var(--spacing-unit-64px)',\n 'spacing-unit--24px': 'var(--spacing-unit--24px)',\n 'radius-unit-corner-radius-xs': 'var(--radius-unit-corner-radius-xs)',\n 'radius-unit-corner-radius-sm': 'var(--radius-unit-corner-radius-sm)',\n 'radius-unit-corner-radius-md': 'var(--radius-unit-corner-radius-md)',\n 'radius-unit-corner-radius-lg': 'var(--radius-unit-corner-radius-lg)',\n 'radius-unit-corner-radius-xl': 'var(--radius-unit-corner-radius-xl)',\n 'radius-unit-corner-radius-2xl': 'var(--radius-unit-corner-radius-2xl)',\n 'radius-unit-corner-radius-3xl': 'var(--radius-unit-corner-radius-3xl)',\n 'radius-unit-corner-radius-5xl': 'var(--radius-unit-corner-radius-5xl)',\n 'radius-unit-corner-radius-none': 'var(--radius-unit-corner-radius-none)',\n 'radius-unit-corner-radius-rounded-full': 'var(--radius-unit-corner-radius-rounded-full)',\n 'radius-unit-corner-radius-6xl': 'var(--radius-unit-corner-radius-6xl)',\n 'radius-unit-corner-radius-7xl': 'var(--radius-unit-corner-radius-7xl)',\n 'radius-unit-corner-radius-4xl': 'var(--radius-unit-corner-radius-4xl)',\n 'border-width-unit-border-width-sm': 'var(--border-width-unit-border-width-sm)',\n 'border-width-unit-border-width-md': 'var(--border-width-unit-border-width-md)',\n 'border-width-unit-border-width-lg': 'var(--border-width-unit-border-width-lg)',\n 'opacity-unit-xs': 'var(--opacity-unit-xs)',\n 'opacity-unit-sm': 'var(--opacity-unit-sm)',\n 'opacity-unit-md': 'var(--opacity-unit-md)',\n 'opacity-unit-lg': 'var(--opacity-unit-lg)',\n 'opacity-unit-xl': 'var(--opacity-unit-xl)',\n 'opacity-unit-2xl': 'var(--opacity-unit-2xl)',\n 'unit-blur-xs': 'var(--unit-blur-xs)',\n 'unit-blur-sm': 'var(--unit-blur-sm)',\n 'unit-blur-md': 'var(--unit-blur-md)',\n 'unit-blur-lg': 'var(--unit-blur-lg)',\n 'unit-blur-xl': 'var(--unit-blur-xl)',\n 'unit-blur-2xl': 'var(--unit-blur-2xl)',\n 'unit-blur-none': 'var(--unit-blur-none)',\n 'color-button-primary-enabled': 'var(--color-button-primary-enabled)',\n 'color-button-primary-hovered': 'var(--color-button-primary-hovered)',\n 'color-button-primary-pressed': 'var(--color-button-primary-pressed)',\n 'color-button-primary-disabled': 'var(--color-button-primary-disabled)',\n 'color-button-secondary-enabled': 'var(--color-button-secondary-enabled)',\n 'color-button-secondary-hovered': 'var(--color-button-secondary-hovered)',\n 'color-button-secondary-pressed': 'var(--color-button-secondary-pressed)',\n 'color-button-secondary-disabled': 'var(--color-button-secondary-disabled)',\n 'color-button-outline-enabled': 'var(--color-button-outline-enabled)',\n 'color-button-outline-hovered': 'var(--color-button-outline-hovered)',\n 'color-button-outline-pressed': 'var(--color-button-outline-pressed)',\n 'color-button-outline-disabled': 'var(--color-button-outline-disabled)',\n 'color-button-destructive-enabled': 'var(--color-button-destructive-enabled)',\n 'color-button-destructive-hovered': 'var(--color-button-destructive-hovered)',\n 'color-button-destructive-pressed': 'var(--color-button-destructive-pressed)',\n 'color-button-destructive-disabled': 'var(--color-button-destructive-disabled)',\n 'color-button-soft-enabled': 'var(--color-button-soft-enabled)',\n 'color-button-soft-hovered': 'var(--color-button-soft-hovered)',\n 'color-button-soft-pressed': 'var(--color-button-soft-pressed)',\n 'color-button-soft-disabled': 'var(--color-button-soft-disabled)',\n 'color-button-ghost-enabled': 'var(--color-button-ghost-enabled)',\n 'color-button-ghost-hovered': 'var(--color-button-ghost-hovered)',\n 'color-button-ghost-pressed': 'var(--color-button-ghost-pressed)',\n 'color-button-ghost-disabled': 'var(--color-button-ghost-disabled)',\n 'color-button-glass-enabled': 'var(--color-button-glass-enabled)',\n 'color-button-glass-hovered': 'var(--color-button-glass-hovered)',\n 'color-button-glass-pressed': 'var(--color-button-glass-pressed)',\n 'color-button-glass-disabled': 'var(--color-button-glass-disabled)',\n 'color-chip-slate-enabled': 'var(--color-chip-slate-enabled)',\n 'color-chip-slate-hovered': 'var(--color-chip-slate-hovered)',\n 'color-chip-red-enabled': 'var(--color-chip-red-enabled)',\n 'color-chip-red-hovered': 'var(--color-chip-red-hovered)',\n 'color-chip-orange-enabled': 'var(--color-chip-orange-enabled)',\n 'color-chip-orange-hovered': 'var(--color-chip-orange-hovered)',\n 'color-chip-amber-enabled': 'var(--color-chip-amber-enabled)',\n 'color-chip-amber-hovered': 'var(--color-chip-amber-hovered)',\n 'color-chip-yellow-enabled': 'var(--color-chip-yellow-enabled)',\n 'color-chip-yellow-hovered': 'var(--color-chip-yellow-hovered)',\n 'color-chip-lime-enabled': 'var(--color-chip-lime-enabled)',\n 'color-chip-lime-hovered': 'var(--color-chip-lime-hovered)',\n 'color-chip-green-enabled': 'var(--color-chip-green-enabled)',\n 'color-chip-green-hovered': 'var(--color-chip-green-hovered)',\n 'color-chip-emerald-enabled': 'var(--color-chip-emerald-enabled)',\n 'color-chip-emerald-hovered': 'var(--color-chip-emerald-hovered)',\n 'color-chip-teal-enabled': 'var(--color-chip-teal-enabled)',\n 'color-chip-teal-hovered': 'var(--color-chip-teal-hovered)',\n 'color-chip-cyan-enabled': 'var(--color-chip-cyan-enabled)',\n 'color-chip-cyan-hovered': 'var(--color-chip-cyan-hovered)',\n 'color-chip-sky-enabled': 'var(--color-chip-sky-enabled)',\n 'color-chip-sky-hovered': 'var(--color-chip-sky-hovered)',\n 'color-chip-blue-enabled': 'var(--color-chip-blue-enabled)',\n 'color-chip-blue-hovered': 'var(--color-chip-blue-hovered)',\n 'color-chip-indigo-enabled': 'var(--color-chip-indigo-enabled)',\n 'color-chip-indigo-hovered': 'var(--color-chip-indigo-hovered)',\n 'color-chip-violet-enabled': 'var(--color-chip-violet-enabled)',\n 'color-chip-violet-hovered': 'var(--color-chip-violet-hovered)',\n 'color-chip-purple-enabled': 'var(--color-chip-purple-enabled)',\n 'color-chip-purple-hovered': 'var(--color-chip-purple-hovered)',\n 'color-chip-fuchsia-enabled': 'var(--color-chip-fuchsia-enabled)',\n 'color-chip-fuchsia-hovered': 'var(--color-chip-fuchsia-hovered)',\n 'color-chip-pink-enabled': 'var(--color-chip-pink-enabled)',\n 'color-chip-pink-hovered': 'var(--color-chip-pink-hovered)',\n 'color-chip-rose-enabled': 'var(--color-chip-rose-enabled)',\n 'color-chip-rose-hovered': 'var(--color-chip-rose-hovered)',\n 'color-data-table-unselected-enabled': 'var(--color-data-table-unselected-enabled)',\n 'color-data-table-unselected-hovered': 'var(--color-data-table-unselected-hovered)',\n 'color-data-table-unselected-focused': 'var(--color-data-table-unselected-focused)',\n 'color-data-table-selected-enabled': 'var(--color-data-table-selected-enabled)',\n 'color-data-table-selected-hovered': 'var(--color-data-table-selected-hovered)',\n 'color-data-table-selected-focused': 'var(--color-data-table-selected-focused)',\n 'color-check-box-and-radio-checked-enabled': 'var(--color-check-box-and-radio-checked-enabled)',\n 'color-check-box-and-radio-checked-hovered': 'var(--color-check-box-and-radio-checked-hovered)',\n 'color-check-box-and-radio-checked-disabled': 'var(--color-check-box-and-radio-checked-disabled)',\n 'color-check-box-and-radio-unchecked-enabled': 'var(--color-check-box-and-radio-unchecked-enabled)',\n 'color-check-box-and-radio-unchecked-disabled': 'var(--color-check-box-and-radio-unchecked-disabled)',\n 'color-check-box-and-radio-unchecked-hovered': 'var(--color-check-box-and-radio-unchecked-hovered)',\n 'color-input-outline-enabled': 'var(--color-input-outline-enabled)',\n 'color-input-outline-disabled': 'var(--color-input-outline-disabled)',\n 'color-input-outline-hovered': 'var(--color-input-outline-hovered)',\n 'color-input-ghost-enabled': 'var(--color-input-ghost-enabled)',\n 'color-input-ghost-hovered': 'var(--color-input-ghost-hovered)',\n 'color-input-ghost-disabled': 'var(--color-input-ghost-disabled)',\n 'color-button-switch-on-enabled': 'var(--color-button-switch-on-enabled)',\n 'color-button-switch-on-hovered': 'var(--color-button-switch-on-hovered)',\n 'color-button-switch-on-disabled': 'var(--color-button-switch-on-disabled)',\n 'color-button-switch-off-enabled': 'var(--color-button-switch-off-enabled)',\n 'color-button-switch-off-hovered': 'var(--color-button-switch-off-hovered)',\n 'color-button-switch-off-disabled': 'var(--color-button-switch-off-disabled)',\n 'color-chat-bubble-primary-enabled': 'var(--color-chat-bubble-primary-enabled)',\n 'color-chat-bubble-primary-hovered': 'var(--color-chat-bubble-primary-hovered)',\n 'color-chat-bubble-neutral-enabled': 'var(--color-chat-bubble-neutral-enabled)',\n 'color-chat-bubble-neutral-hovered': 'var(--color-chat-bubble-neutral-hovered)',\n 'color-button-toggle-unselected-primary-enabled': 'var(--color-button-toggle-unselected-primary-enabled)',\n 'color-button-toggle-unselected-primary-hovered': 'var(--color-button-toggle-unselected-primary-hovered)',\n 'color-button-toggle-unselected-primary-pressed': 'var(--color-button-toggle-unselected-primary-pressed)',\n 'color-button-toggle-unselected-secondary-enabled': 'var(--color-button-toggle-unselected-secondary-enabled)',\n 'color-button-toggle-unselected-secondary-hovered': 'var(--color-button-toggle-unselected-secondary-hovered)',\n 'color-button-toggle-unselected-secondary-pressed': 'var(--color-button-toggle-unselected-secondary-pressed)',\n 'color-button-toggle-unselected-destructive-enabled': 'var(--color-button-toggle-unselected-destructive-enabled)',\n 'color-button-toggle-unselected-destructive-hovered': 'var(--color-button-toggle-unselected-destructive-hovered)',\n 'color-button-toggle-unselected-destructive-pressed': 'var(--color-button-toggle-unselected-destructive-pressed)',\n 'color-button-toggle-selected-primary-enabled': 'var(--color-button-toggle-selected-primary-enabled)',\n 'color-button-toggle-selected-primary-hovered': 'var(--color-button-toggle-selected-primary-hovered)',\n 'color-button-toggle-selected-primary-pressed': 'var(--color-button-toggle-selected-primary-pressed)',\n 'color-button-toggle-selected-secondary-enabled': 'var(--color-button-toggle-selected-secondary-enabled)',\n 'color-button-toggle-selected-secondary-hovered': 'var(--color-button-toggle-selected-secondary-hovered)',\n 'color-button-toggle-selected-secondary-pressed': 'var(--color-button-toggle-selected-secondary-pressed)',\n 'color-button-toggle-selected-destructive-enabled': 'var(--color-button-toggle-selected-destructive-enabled)',\n 'color-button-toggle-selected-destructive-hovered': 'var(--color-button-toggle-selected-destructive-hovered)',\n 'color-button-toggle-selected-destructive-pressed': 'var(--color-button-toggle-selected-destructive-pressed)',\n 'color-tab-primary-enabled': 'var(--color-tab-primary-enabled)',\n 'color-tab-primary-hovered': 'var(--color-tab-primary-hovered)',\n 'color-tab-primary-pressed': 'var(--color-tab-primary-pressed)',\n 'color-tab-primary-active': 'var(--color-tab-primary-active)',\n 'color-menu-panel-unselected-enabled': 'var(--color-menu-panel-unselected-enabled)',\n 'color-menu-panel-unselected-hovered': 'var(--color-menu-panel-unselected-hovered)',\n 'color-menu-panel-selected-enabled': 'var(--color-menu-panel-selected-enabled)',\n 'color-menu-panel-selected-hovered': 'var(--color-menu-panel-selected-hovered)',\n 'color-toast-error': 'var(--color-toast-error)',\n 'color-toast-warning': 'var(--color-toast-warning)',\n 'color-toast-success': 'var(--color-toast-success)',\n 'color-toast-info': 'var(--color-toast-info)',\n 'color-navigation-hovered': 'var(--color-navigation-hovered)',\n 'color-navigation-selected': 'var(--color-navigation-selected)',\n 'color-toggle-ghost-inactive-enabled': 'var(--color-toggle-ghost-inactive-enabled)',\n 'color-toggle-ghost-inactive-hovered': 'var(--color-toggle-ghost-inactive-hovered)',\n 'color-toggle-ghost-inactive-pressed': 'var(--color-toggle-ghost-inactive-pressed)',\n 'color-toggle-ghost-inactive-disabled': 'var(--color-toggle-ghost-inactive-disabled)',\n 'color-toggle-ghost-active-enabled': 'var(--color-toggle-ghost-active-enabled)',\n 'color-toggle-ghost-active-hovered': 'var(--color-toggle-ghost-active-hovered)',\n 'color-toggle-ghost-active-pressed': 'var(--color-toggle-ghost-active-pressed)',\n 'color-toggle-ghost-active-disabled': 'var(--color-toggle-ghost-active-disabled)',\n 'color-toggle-outline-active-enabled': 'var(--color-toggle-outline-active-enabled)',\n 'color-toggle-outline-active-hovered': 'var(--color-toggle-outline-active-hovered)',\n 'color-toggle-outline-active-pressed': 'var(--color-toggle-outline-active-pressed)',\n 'color-toggle-outline-active-disabled': 'var(--color-toggle-outline-active-disabled)',\n 'color-toggle-outline-inactive-enabled': 'var(--color-toggle-outline-inactive-enabled)',\n 'color-toggle-outline-inactive-hovered': 'var(--color-toggle-outline-inactive-hovered)',\n 'color-toggle-outline-inactive-pressed': 'var(--color-toggle-outline-inactive-pressed)',\n 'color-toggle-outline-inactive-disabled': 'var(--color-toggle-outline-inactive-disabled)',\n 'color-toggle-soft-active-enabled': 'var(--color-toggle-soft-active-enabled)',\n 'color-toggle-soft-active-hovered': 'var(--color-toggle-soft-active-hovered)',\n 'color-toggle-soft-active-pressed': 'var(--color-toggle-soft-active-pressed)',\n 'color-toggle-soft-active-disabled': 'var(--color-toggle-soft-active-disabled)',\n 'color-toggle-soft-inactive-enabled': 'var(--color-toggle-soft-inactive-enabled)',\n 'color-toggle-soft-inactive-hovered': 'var(--color-toggle-soft-inactive-hovered)',\n 'color-toggle-soft-inactive-pressed': 'var(--color-toggle-soft-inactive-pressed)',\n 'color-toggle-soft-inactive-disabled': 'var(--color-toggle-soft-inactive-disabled)',\n 'color-utility-tab-inactive-enabled': 'var(--color-utility-tab-inactive-enabled)',\n 'color-utility-tab-inactive-hovered': 'var(--color-utility-tab-inactive-hovered)',\n 'color-utility-tab-active-enabled': 'var(--color-utility-tab-active-enabled)',\n 'color-utility-tab-active-hovered': 'var(--color-utility-tab-active-hovered)',\n 'color-filter-chip-unselected-enabled': 'var(--color-filter-chip-unselected-enabled)',\n 'color-filter-chip-unselected-hovered': 'var(--color-filter-chip-unselected-hovered)',\n 'color-filter-chip-selected-enabled': 'var(--color-filter-chip-selected-enabled)',\n 'color-filter-chip-selected-hovered': 'var(--color-filter-chip-selected-hovered)',\n 'pagination-page-tab-enabled': 'var(--pagination-page-tab-enabled)',\n 'pagination-page-tab-hovered': 'var(--pagination-page-tab-hovered)',\n 'pagination-page-tab-pressed': 'var(--pagination-page-tab-pressed)',\n 'pagination-page-tab-actived': 'var(--pagination-page-tab-actived)',\n 'color-comment-opened-enabled': 'var(--color-comment-opened-enabled)',\n 'color-comment-opened-hovered': 'var(--color-comment-opened-hovered)',\n 'color-comment-opened-actived': 'var(--color-comment-opened-actived)',\n 'color-comment-closed-enabled': 'var(--color-comment-closed-enabled)',\n 'color-comment-closed-hovered': 'var(--color-comment-closed-hovered)',\n 'color-comment-closed-actived': 'var(--color-comment-closed-actived)',\n 'list-enabled': 'var(--list-enabled)',\n 'list-hovered': 'var(--list-hovered)',\n 'list-actived': 'var(--list-actived)',\n 'color-dropdown-hovered': 'var(--color-dropdown-hovered)',\n 'color-notificationCard-enabled': 'var(--color-notificationCard-enabled)',\n 'color-notificationCard-hovered': 'var(--color-notificationCard-hovered)',\n 'color-table-table-cell-unselected': 'var(--color-table-table-cell-unselected)',\n 'color-table-table-cell-selected': 'var(--color-table-table-cell-selected)',\n 'color-table-table-header-default': 'var(--color-table-table-header-default)',\n 'color-fill-background': 'var(--color-fill-background)',\n 'color-fill-foreground': 'var(--color-fill-foreground)',\n 'color-fill-static-red-01': 'var(--color-fill-static-red-01)',\n 'color-fill-static-red-03': 'var(--color-fill-static-red-03)',\n 'color-fill-static-red-05': 'var(--color-fill-static-red-05)',\n 'color-fill-static-red-04': 'var(--color-fill-static-red-04)',\n 'color-fill-static-red-02': 'var(--color-fill-static-red-02)',\n 'color-fill-static-red-06': 'var(--color-fill-static-red-06)',\n 'color-fill-static-orange-01': 'var(--color-fill-static-orange-01)',\n 'color-fill-static-orange-02': 'var(--color-fill-static-orange-02)',\n 'color-fill-static-orange-03': 'var(--color-fill-static-orange-03)',\n 'color-fill-static-amber-01': 'var(--color-fill-static-amber-01)',\n 'color-fill-static-amber-02': 'var(--color-fill-static-amber-02)',\n 'color-fill-static-amber-03': 'var(--color-fill-static-amber-03)',\n 'color-fill-static-yellow-01': 'var(--color-fill-static-yellow-01)',\n 'color-fill-static-yellow-02': 'var(--color-fill-static-yellow-02)',\n 'color-fill-static-yellow-03': 'var(--color-fill-static-yellow-03)',\n 'color-fill-static-lime-01': 'var(--color-fill-static-lime-01)',\n 'color-fill-static-lime-02': 'var(--color-fill-static-lime-02)',\n 'color-fill-static-lime-03': 'var(--color-fill-static-lime-03)',\n 'color-fill-static-green-01': 'var(--color-fill-static-green-01)',\n 'color-fill-static-green-03': 'var(--color-fill-static-green-03)',\n 'color-fill-static-green-05': 'var(--color-fill-static-green-05)',\n 'color-fill-static-green-02': 'var(--color-fill-static-green-02)',\n 'color-fill-static-green-04': 'var(--color-fill-static-green-04)',\n 'color-fill-static-emerald-01': 'var(--color-fill-static-emerald-01)',\n 'color-fill-static-emerald-02': 'var(--color-fill-static-emerald-02)',\n 'color-fill-static-emerald-03': 'var(--color-fill-static-emerald-03)',\n 'color-fill-static-teal-01': 'var(--color-fill-static-teal-01)',\n 'color-fill-static-teal-02': 'var(--color-fill-static-teal-02)',\n 'color-fill-static-teal-03': 'var(--color-fill-static-teal-03)',\n 'color-fill-static-cyan-01': 'var(--color-fill-static-cyan-01)',\n 'color-fill-static-cyan-02': 'var(--color-fill-static-cyan-02)',\n 'color-fill-static-cyan-03': 'var(--color-fill-static-cyan-03)',\n 'color-fill-static-sky-01': 'var(--color-fill-static-sky-01)',\n 'color-fill-static-sky-02': 'var(--color-fill-static-sky-02)',\n 'color-fill-static-sky-03': 'var(--color-fill-static-sky-03)',\n 'color-fill-static-blue-01': 'var(--color-fill-static-blue-01)',\n 'color-fill-static-blue-03': 'var(--color-fill-static-blue-03)',\n 'color-fill-static-blue-05': 'var(--color-fill-static-blue-05)',\n 'color-fill-static-blue-02': 'var(--color-fill-static-blue-02)',\n 'color-fill-static-blue-04': 'var(--color-fill-static-blue-04)',\n 'color-fill-static-blue-06': 'var(--color-fill-static-blue-06)',\n 'color-fill-static-indigo-01': 'var(--color-fill-static-indigo-01)',\n 'color-fill-static-indigo-02': 'var(--color-fill-static-indigo-02)',\n 'color-fill-static-indigo-03': 'var(--color-fill-static-indigo-03)',\n 'color-fill-static-violet-01': 'var(--color-fill-static-violet-01)',\n 'color-fill-static-violet-02': 'var(--color-fill-static-violet-02)',\n 'color-fill-static-violet-03': 'var(--color-fill-static-violet-03)',\n 'color-fill-static-purple-01': 'var(--color-fill-static-purple-01)',\n 'color-fill-static-purple-02': 'var(--color-fill-static-purple-02)',\n 'color-fill-static-purple-03': 'var(--color-fill-static-purple-03)',\n 'color-fill-static-fuchsia-01': 'var(--color-fill-static-fuchsia-01)',\n 'color-fill-static-fuchsia-02': 'var(--color-fill-static-fuchsia-02)',\n 'color-fill-static-fuchsia-03': 'var(--color-fill-static-fuchsia-03)',\n 'color-fill-static-pink-01': 'var(--color-fill-static-pink-01)',\n 'color-fill-static-pink-02': 'var(--color-fill-static-pink-02)',\n 'color-fill-static-pink-03': 'var(--color-fill-static-pink-03)',\n 'color-fill-static-rose-01': 'var(--color-fill-static-rose-01)',\n 'color-fill-static-rose-02': 'var(--color-fill-static-rose-02)',\n 'color-fill-static-rose-dark': 'var(--color-fill-static-rose-dark)',\n 'color-fill-static-slate-01': 'var(--color-fill-static-slate-01)',\n 'color-fill-static-slate-02': 'var(--color-fill-static-slate-02)',\n 'color-fill-static-slate-03': 'var(--color-fill-static-slate-03)',\n 'color-fill-static-slate-04': 'var(--color-fill-static-slate-04)',\n 'color-fill-static-slate-05': 'var(--color-fill-static-slate-05)',\n 'color-fill-inverse-slate-10': 'var(--color-fill-inverse-slate-10)',\n 'color-fill-inverse-slate-01': 'var(--color-fill-inverse-slate-01)',\n 'color-fill-inverse-slate-03': 'var(--color-fill-inverse-slate-03)',\n 'color-fill-inverse-slate-07': 'var(--color-fill-inverse-slate-07)',\n 'color-fill-inverse-slate-06': 'var(--color-fill-inverse-slate-06)',\n 'color-fill-inverse-slate-08': 'var(--color-fill-inverse-slate-08)',\n 'color-fill-inverse-slate-09': 'var(--color-fill-inverse-slate-09)',\n 'color-fill-inverse-slate-04': 'var(--color-fill-inverse-slate-04)',\n 'color-fill-inverse-slate-05': 'var(--color-fill-inverse-slate-05)',\n 'color-fill-inverse-slate-02': 'var(--color-fill-inverse-slate-02)',\n 'color-fill-inverse-blue-01': 'var(--color-fill-inverse-blue-01)',\n 'color-fill-inverse-blue-02': 'var(--color-fill-inverse-blue-02)',\n 'color-fill-inverse-red-01': 'var(--color-fill-inverse-red-01)',\n 'color-fill-inverse-red-02': 'var(--color-fill-inverse-red-02)',\n 'color-fill-inverse-orange-01': 'var(--color-fill-inverse-orange-01)',\n 'color-fill-inverse-orange-02': 'var(--color-fill-inverse-orange-02)',\n 'color-fill-inverse-yellow-01': 'var(--color-fill-inverse-yellow-01)',\n 'color-fill-inverse-yellow-02': 'var(--color-fill-inverse-yellow-02)',\n 'color-fill-inverse-lime-01': 'var(--color-fill-inverse-lime-01)',\n 'color-fill-inverse-lime-02': 'var(--color-fill-inverse-lime-02)',\n 'color-fill-inverse-green-01': 'var(--color-fill-inverse-green-01)',\n 'color-fill-inverse-green-02': 'var(--color-fill-inverse-green-02)',\n 'color-fill-inverse-emerald-01': 'var(--color-fill-inverse-emerald-01)',\n 'color-fill-inverse-emerald-02': 'var(--color-fill-inverse-emerald-02)',\n 'color-fill-inverse-teal-01': 'var(--color-fill-inverse-teal-01)',\n 'color-fill-inverse-teal-02': 'var(--color-fill-inverse-teal-02)',\n 'color-fill-inverse-cyan-01': 'var(--color-fill-inverse-cyan-01)',\n 'color-fill-inverse-cyan-02': 'var(--color-fill-inverse-cyan-02)',\n 'color-fill-inverse-sky-01': 'var(--color-fill-inverse-sky-01)',\n 'color-fill-inverse-sky-02': 'var(--color-fill-inverse-sky-02)',\n 'color-fill-inverse-violet-01': 'var(--color-fill-inverse-violet-01)',\n 'color-fill-inverse-violet-02': 'var(--color-fill-inverse-violet-02)',\n 'color-fill-inverse-indigo-01': 'var(--color-fill-inverse-indigo-01)',\n 'color-fill-inverse-indigo-02': 'var(--color-fill-inverse-indigo-02)',\n 'color-fill-inverse-purple-01': 'var(--color-fill-inverse-purple-01)',\n 'color-fill-inverse-purple-02': 'var(--color-fill-inverse-purple-02)',\n 'color-fill-inverse-fuchsia-01': 'var(--color-fill-inverse-fuchsia-01)',\n 'color-fill-inverse-fuchsia-02': 'var(--color-fill-inverse-fuchsia-02)',\n 'color-fill-inverse-pink-01': 'var(--color-fill-inverse-pink-01)',\n 'color-fill-inverse-pink-02': 'var(--color-fill-inverse-pink-02)',\n 'color-fill-inverse-rose-01': 'var(--color-fill-inverse-rose-01)',\n 'color-fill-inverse-rose-02': 'var(--color-fill-inverse-rose-02)',\n 'color-fill-inverse-amber-01': 'var(--color-fill-inverse-amber-01)',\n 'color-fill-inverse-amber-02': 'var(--color-fill-inverse-amber-02)',\n 'color-stroke-inverse-slate-01': 'var(--color-stroke-inverse-slate-01)',\n 'color-stroke-inverse-slate-03': 'var(--color-stroke-inverse-slate-03)',\n 'color-stroke-inverse-slate-04': 'var(--color-stroke-inverse-slate-04)',\n 'color-stroke-inverse-slate-02': 'var(--color-stroke-inverse-slate-02)',\n 'color-stroke-inverse-red-01': 'var(--color-stroke-inverse-red-01)',\n 'color-stroke-inverse-red-02': 'var(--color-stroke-inverse-red-02)',\n 'color-stroke-inverse-orange-01': 'var(--color-stroke-inverse-orange-01)',\n 'color-stroke-inverse-orange-02': 'var(--color-stroke-inverse-orange-02)',\n 'color-stroke-inverse-amber-01': 'var(--color-stroke-inverse-amber-01)',\n 'color-stroke-inverse-amber-02': 'var(--color-stroke-inverse-amber-02)',\n 'color-stroke-inverse-yellow-01': 'var(--color-stroke-inverse-yellow-01)',\n 'color-stroke-inverse-yellow-02': 'var(--color-stroke-inverse-yellow-02)',\n 'color-stroke-inverse-lime-01': 'var(--color-stroke-inverse-lime-01)',\n 'color-stroke-inverse-lime-02': 'var(--color-stroke-inverse-lime-02)',\n 'color-stroke-inverse-green-01': 'var(--color-stroke-inverse-green-01)',\n 'color-stroke-inverse-green-02': 'var(--color-stroke-inverse-green-02)',\n 'color-stroke-inverse-emerald-01': 'var(--color-stroke-inverse-emerald-01)',\n 'color-stroke-inverse-emerald-02': 'var(--color-stroke-inverse-emerald-02)',\n 'color-stroke-inverse-teal-01': 'var(--color-stroke-inverse-teal-01)',\n 'color-stroke-inverse-teal-02': 'var(--color-stroke-inverse-teal-02)',\n 'color-stroke-inverse-cyan-01': 'var(--color-stroke-inverse-cyan-01)',\n 'color-stroke-inverse-cyan-02': 'var(--color-stroke-inverse-cyan-02)',\n 'color-stroke-inverse-sky-01': 'var(--color-stroke-inverse-sky-01)',\n 'color-stroke-inverse-sky-02': 'var(--color-stroke-inverse-sky-02)',\n 'color-stroke-inverse-blue-01': 'var(--color-stroke-inverse-blue-01)',\n 'color-stroke-inverse-blue-02': 'var(--color-stroke-inverse-blue-02)',\n 'color-stroke-inverse-indigo-01': 'var(--color-stroke-inverse-indigo-01)',\n 'color-stroke-inverse-indigo-02': 'var(--color-stroke-inverse-indigo-02)',\n 'color-stroke-inverse-violet-01': 'var(--color-stroke-inverse-violet-01)',\n 'color-stroke-inverse-violet-02': 'var(--color-stroke-inverse-violet-02)',\n 'color-stroke-inverse-purple-01': 'var(--color-stroke-inverse-purple-01)',\n 'color-stroke-inverse-purple-02': 'var(--color-stroke-inverse-purple-02)',\n 'color-stroke-inverse-fuchsia-01': 'var(--color-stroke-inverse-fuchsia-01)',\n 'color-stroke-inverse-fuchsia-02': 'var(--color-stroke-inverse-fuchsia-02)',\n 'color-stroke-inverse-pink-01': 'var(--color-stroke-inverse-pink-01)',\n 'color-stroke-inverse-pink-02': 'var(--color-stroke-inverse-pink-02)',\n 'color-stroke-inverse-rose-01': 'var(--color-stroke-inverse-rose-01)',\n 'color-stroke-inverse-rose-02': 'var(--color-stroke-inverse-rose-02)',\n 'color-stroke-static-slate-01': 'var(--color-stroke-static-slate-01)',\n 'color-stroke-static-slate-02': 'var(--color-stroke-static-slate-02)',\n 'color-stroke-static-slate-03': 'var(--color-stroke-static-slate-03)',\n 'color-stroke-static-slate-04': 'var(--color-stroke-static-slate-04)',\n 'color-stroke-static-slate-05': 'var(--color-stroke-static-slate-05)',\n 'color-stroke-static-red-01': 'var(--color-stroke-static-red-01)',\n 'color-stroke-static-red-02': 'var(--color-stroke-static-red-02)',\n 'color-stroke-static-red-03': 'var(--color-stroke-static-red-03)',\n 'color-stroke-static-red-04': 'var(--color-stroke-static-red-04)',\n 'color-stroke-static-red-05': 'var(--color-stroke-static-red-05)',\n 'color-stroke-static-orange-01': 'var(--color-stroke-static-orange-01)',\n 'color-stroke-static-orange-02': 'var(--color-stroke-static-orange-02)',\n 'color-stroke-static-orange-03': 'var(--color-stroke-static-orange-03)',\n 'color-stroke-static-amber-01': 'var(--color-stroke-static-amber-01)',\n 'color-stroke-static-amber-02': 'var(--color-stroke-static-amber-02)',\n 'color-stroke-static-amber-03': 'var(--color-stroke-static-amber-03)',\n 'color-stroke-static-yellow-01': 'var(--color-stroke-static-yellow-01)',\n 'color-stroke-static-yellow-02': 'var(--color-stroke-static-yellow-02)',\n 'color-stroke-static-yellow-03': 'var(--color-stroke-static-yellow-03)',\n 'color-stroke-static-lime-01': 'var(--color-stroke-static-lime-01)',\n 'color-stroke-static-lime-02': 'var(--color-stroke-static-lime-02)',\n 'color-stroke-static-lime-03': 'var(--color-stroke-static-lime-03)',\n 'color-stroke-static-green-01': 'var(--color-stroke-static-green-01)',\n 'color-stroke-static-green-02': 'var(--color-stroke-static-green-02)',\n 'color-stroke-static-green-03': 'var(--color-stroke-static-green-03)',\n 'color-stroke-static-emerald-01': 'var(--color-stroke-static-emerald-01)',\n 'color-stroke-static-emerald-02': 'var(--color-stroke-static-emerald-02)',\n 'color-stroke-static-emerald-03': 'var(--color-stroke-static-emerald-03)',\n 'color-stroke-static-teal-01': 'var(--color-stroke-static-teal-01)',\n 'color-stroke-static-teal-02': 'var(--color-stroke-static-teal-02)',\n 'color-stroke-static-teal-03': 'var(--color-stroke-static-teal-03)',\n 'color-stroke-static-cyan-01': 'var(--color-stroke-static-cyan-01)',\n 'color-stroke-static-cyan-02': 'var(--color-stroke-static-cyan-02)',\n 'color-stroke-static-cyan-03': 'var(--color-stroke-static-cyan-03)',\n 'color-stroke-static-sky-01': 'var(--color-stroke-static-sky-01)',\n 'color-stroke-static-sky-02': 'var(--color-stroke-static-sky-02)',\n 'color-stroke-static-sky-03': 'var(--color-stroke-static-sky-03)',\n 'color-stroke-static-blue-01': 'var(--color-stroke-static-blue-01)',\n 'color-stroke-static-blue-02': 'var(--color-stroke-static-blue-02)',\n 'color-stroke-static-blue-03': 'var(--color-stroke-static-blue-03)',\n 'color-stroke-static-blue-04': 'var(--color-stroke-static-blue-04)',\n 'color-stroke-static-blue-05': 'var(--color-stroke-static-blue-05)',\n 'color-stroke-static-indigo-01': 'var(--color-stroke-static-indigo-01)',\n 'color-stroke-static-indigo-02': 'var(--color-stroke-static-indigo-02)',\n 'color-stroke-static-indigo-03': 'var(--color-stroke-static-indigo-03)',\n 'color-stroke-static-violet-01': 'var(--color-stroke-static-violet-01)',\n 'color-stroke-static-violet-02': 'var(--color-stroke-static-violet-02)',\n 'color-stroke-static-violet-03': 'var(--color-stroke-static-violet-03)',\n 'color-stroke-static-purple-01': 'var(--color-stroke-static-purple-01)',\n 'color-stroke-static-purple-02': 'var(--color-stroke-static-purple-02)',\n 'color-stroke-static-purple-03': 'var(--color-stroke-static-purple-03)',\n 'color-stroke-static-fuchsia-01': 'var(--color-stroke-static-fuchsia-01)',\n 'color-stroke-static-fuchsia-02': 'var(--color-stroke-static-fuchsia-02)',\n 'color-stroke-static-fuchsia-03': 'var(--color-stroke-static-fuchsia-03)',\n 'color-stroke-static-pink-01': 'var(--color-stroke-static-pink-01)',\n 'color-stroke-static-pink-02': 'var(--color-stroke-static-pink-02)',\n 'color-stroke-static-pink-03': 'var(--color-stroke-static-pink-03)',\n 'color-stroke-static-rose-01': 'var(--color-stroke-static-rose-01)',\n 'color-stroke-static-rose-02': 'var(--color-stroke-static-rose-02)',\n 'color-stroke-static-rose-dark': 'var(--color-stroke-static-rose-dark)',\n 'color-element-inverse-default': 'var(--color-element-inverse-default)',\n 'color-element-inverse-gray': 'var(--color-element-inverse-gray)',\n 'color-element-inverse-disabled': 'var(--color-element-inverse-disabled)',\n 'color-element-inverse-red': 'var(--color-element-inverse-red)',\n 'color-element-inverse-default-alt': 'var(--color-element-inverse-default-alt)',\n 'color-element-inverse-blue': 'var(--color-element-inverse-blue)',\n 'color-element-inverse-orange': 'var(--color-element-inverse-orange)',\n 'color-element-inverse-amber': 'var(--color-element-inverse-amber)',\n 'color-element-inverse-yellow': 'var(--color-element-inverse-yellow)',\n 'color-element-inverse-lime': 'var(--color-element-inverse-lime)',\n 'color-element-inverse-green': 'var(--color-element-inverse-green)',\n 'color-element-inverse-emerald': 'var(--color-element-inverse-emerald)',\n 'color-element-inverse-teal': 'var(--color-element-inverse-teal)',\n 'color-element-inverse-cyan': 'var(--color-element-inverse-cyan)',\n 'color-element-inverse-sky': 'var(--color-element-inverse-sky)',\n 'color-element-inverse-indigo': 'var(--color-element-inverse-indigo)',\n 'color-element-inverse-violet': 'var(--color-element-inverse-violet)',\n 'color-element-inverse-purple': 'var(--color-element-inverse-purple)',\n 'color-element-inverse-fuchsia': 'var(--color-element-inverse-fuchsia)',\n 'color-element-inverse-pink': 'var(--color-element-inverse-pink)',\n 'color-element-inverse-rose': 'var(--color-element-inverse-rose)',\n 'color-element-inverse-soft': 'var(--color-element-inverse-soft)',\n 'color-element-static-black': 'var(--color-element-static-black)',\n 'color-element-static-white': 'var(--color-element-static-white)',\n 'color-element-static-red': 'var(--color-element-static-red)',\n 'color-element-static-blue': 'var(--color-element-static-blue)',\n 'color-element-static-orange': 'var(--color-element-static-orange)',\n 'color-element-static-amber': 'var(--color-element-static-amber)',\n 'color-element-static-yellow': 'var(--color-element-static-yellow)',\n 'color-element-static-lime': 'var(--color-element-static-lime)',\n 'color-element-static-green': 'var(--color-element-static-green)',\n 'color-element-static-emerald': 'var(--color-element-static-emerald)',\n 'color-element-static-teal': 'var(--color-element-static-teal)',\n 'color-element-static-cyan': 'var(--color-element-static-cyan)',\n 'color-element-static-sky': 'var(--color-element-static-sky)',\n 'color-element-static-indigo': 'var(--color-element-static-indigo)',\n 'color-element-static-violet': 'var(--color-element-static-violet)',\n 'color-element-static-purple': 'var(--color-element-static-purple)',\n 'color-element-static-fuchsia': 'var(--color-element-static-fuchsia)',\n 'color-element-static-pink': 'var(--color-element-static-pink)',\n 'color-element-static-rose': 'var(--color-element-static-rose)',\n 'color-chart-inverse-slate-10': 'var(--color-chart-inverse-slate-10)',\n 'color-chart-inverse-slate-11': 'var(--color-chart-inverse-slate-11)',\n 'color-chart-inverse-slate-01': 'var(--color-chart-inverse-slate-01)',\n 'color-chart-inverse-slate-02': 'var(--color-chart-inverse-slate-02)',\n 'color-chart-inverse-slate-03': 'var(--color-chart-inverse-slate-03)',\n 'color-chart-inverse-slate-04': 'var(--color-chart-inverse-slate-04)',\n 'color-chart-inverse-slate-05': 'var(--color-chart-inverse-slate-05)',\n 'color-chart-inverse-slate-06': 'var(--color-chart-inverse-slate-06)',\n 'color-chart-inverse-slate-08': 'var(--color-chart-inverse-slate-08)',\n 'color-chart-inverse-slate-09': 'var(--color-chart-inverse-slate-09)',\n 'color-chart-inverse-slate-07': 'var(--color-chart-inverse-slate-07)',\n 'color-chart-inverse-red-10': 'var(--color-chart-inverse-red-10)',\n 'color-chart-inverse-red-11': 'var(--color-chart-inverse-red-11)',\n 'color-chart-inverse-red-01': 'var(--color-chart-inverse-red-01)',\n 'color-chart-inverse-red-02': 'var(--color-chart-inverse-red-02)',\n 'color-chart-inverse-red-03': 'var(--color-chart-inverse-red-03)',\n 'color-chart-inverse-red-04': 'var(--color-chart-inverse-red-04)',\n 'color-chart-inverse-red-05': 'var(--color-chart-inverse-red-05)',\n 'color-chart-inverse-red-06': 'var(--color-chart-inverse-red-06)',\n 'color-chart-inverse-red-07': 'var(--color-chart-inverse-red-07)',\n 'color-chart-inverse-red-08': 'var(--color-chart-inverse-red-08)',\n 'color-chart-inverse-red-09': 'var(--color-chart-inverse-red-09)',\n 'color-chart-inverse-orange-10': 'var(--color-chart-inverse-orange-10)',\n 'color-chart-inverse-orange-11': 'var(--color-chart-inverse-orange-11)',\n 'color-chart-inverse-orange-01': 'var(--color-chart-inverse-orange-01)',\n 'color-chart-inverse-orange-02': 'var(--color-chart-inverse-orange-02)',\n 'color-chart-inverse-orange-03': 'var(--color-chart-inverse-orange-03)',\n 'color-chart-inverse-orange-04': 'var(--color-chart-inverse-orange-04)',\n 'color-chart-inverse-orange-05': 'var(--color-chart-inverse-orange-05)',\n 'color-chart-inverse-orange-06': 'var(--color-chart-inverse-orange-06)',\n 'color-chart-inverse-orange-07': 'var(--color-chart-inverse-orange-07)',\n 'color-chart-inverse-orange-08': 'var(--color-chart-inverse-orange-08)',\n 'color-chart-inverse-orange-09': 'var(--color-chart-inverse-orange-09)',\n 'color-chart-inverse-amber-10': 'var(--color-chart-inverse-amber-10)',\n 'color-chart-inverse-amber-11': 'var(--color-chart-inverse-amber-11)',\n 'color-chart-inverse-amber-01': 'var(--color-chart-inverse-amber-01)',\n 'color-chart-inverse-amber-02': 'var(--color-chart-inverse-amber-02)',\n 'color-chart-inverse-amber-03': 'var(--color-chart-inverse-amber-03)',\n 'color-chart-inverse-amber-04': 'var(--color-chart-inverse-amber-04)',\n 'color-chart-inverse-amber-05': 'var(--color-chart-inverse-amber-05)',\n 'color-chart-inverse-amber-06': 'var(--color-chart-inverse-amber-06)',\n 'color-chart-inverse-amber-07': 'var(--color-chart-inverse-amber-07)',\n 'color-chart-inverse-amber-08': 'var(--color-chart-inverse-amber-08)',\n 'color-chart-inverse-amber-09': 'var(--color-chart-inverse-amber-09)',\n 'color-chart-inverse-yellow-10': 'var(--color-chart-inverse-yellow-10)',\n 'color-chart-inverse-yellow-11': 'var(--color-chart-inverse-yellow-11)',\n 'color-chart-inverse-yellow-01': 'var(--color-chart-inverse-yellow-01)',\n 'color-chart-inverse-yellow-02': 'var(--color-chart-inverse-yellow-02)',\n 'color-chart-inverse-yellow-03': 'var(--color-chart-inverse-yellow-03)',\n 'color-chart-inverse-yellow-04': 'var(--color-chart-inverse-yellow-04)',\n 'color-chart-inverse-yellow-05': 'var(--color-chart-inverse-yellow-05)',\n 'color-chart-inverse-yellow-06': 'var(--color-chart-inverse-yellow-06)',\n 'color-chart-inverse-yellow-07': 'var(--color-chart-inverse-yellow-07)',\n 'color-chart-inverse-yellow-08': 'var(--color-chart-inverse-yellow-08)',\n 'color-chart-inverse-yellow-09': 'var(--color-chart-inverse-yellow-09)',\n 'color-chart-inverse-blue-10': 'var(--color-chart-inverse-blue-10)',\n 'color-chart-inverse-blue-11': 'var(--color-chart-inverse-blue-11)',\n 'color-chart-inverse-blue-01': 'var(--color-chart-inverse-blue-01)',\n 'color-chart-inverse-blue-02': 'var(--color-chart-inverse-blue-02)',\n 'color-chart-inverse-blue-03': 'var(--color-chart-inverse-blue-03)',\n 'color-chart-inverse-blue-04': 'var(--color-chart-inverse-blue-04)',\n 'color-chart-inverse-blue-05': 'var(--color-chart-inverse-blue-05)',\n 'color-chart-inverse-blue-06': 'var(--color-chart-inverse-blue-06)',\n 'color-chart-inverse-blue-07': 'var(--color-chart-inverse-blue-07)',\n 'color-chart-inverse-blue-08': 'var(--color-chart-inverse-blue-08)',\n 'color-chart-inverse-blue-09': 'var(--color-chart-inverse-blue-09)',\n 'color-chart-inverse-indigo-10': 'var(--color-chart-inverse-indigo-10)',\n 'color-chart-inverse-indigo-11': 'var(--color-chart-inverse-indigo-11)',\n 'color-chart-inverse-indigo-01': 'var(--color-chart-inverse-indigo-01)',\n 'color-chart-inverse-indigo-02': 'var(--color-chart-inverse-indigo-02)',\n 'color-chart-inverse-indigo-03': 'var(--color-chart-inverse-indigo-03)',\n 'color-chart-inverse-indigo-04': 'var(--color-chart-inverse-indigo-04)',\n 'color-chart-inverse-indigo-05': 'var(--color-chart-inverse-indigo-05)',\n 'color-chart-inverse-indigo-06': 'var(--color-chart-inverse-indigo-06)',\n 'color-chart-inverse-indigo-07': 'var(--color-chart-inverse-indigo-07)',\n 'color-chart-inverse-indigo-08': 'var(--color-chart-inverse-indigo-08)',\n 'color-chart-inverse-indigo-09': 'var(--color-chart-inverse-indigo-09)',\n 'color-chart-inverse-sky-10': 'var(--color-chart-inverse-sky-10)',\n 'color-chart-inverse-sky-11': 'var(--color-chart-inverse-sky-11)',\n 'color-chart-inverse-sky-01': 'var(--color-chart-inverse-sky-01)',\n 'color-chart-inverse-sky-02': 'var(--color-chart-inverse-sky-02)',\n 'color-chart-inverse-sky-03': 'var(--color-chart-inverse-sky-03)',\n 'color-chart-inverse-sky-04': 'var(--color-chart-inverse-sky-04)',\n 'color-chart-inverse-sky-05': 'var(--color-chart-inverse-sky-05)',\n 'color-chart-inverse-sky-06': 'var(--color-chart-inverse-sky-06)',\n 'color-chart-inverse-sky-07': 'var(--color-chart-inverse-sky-07)',\n 'color-chart-inverse-sky-08': 'var(--color-chart-inverse-sky-08)',\n 'color-chart-inverse-sky-09': 'var(--color-chart-inverse-sky-09)',\n 'color-chart-inverse-cyan-10': 'var(--color-chart-inverse-cyan-10)',\n 'color-chart-inverse-cyan-11': 'var(--color-chart-inverse-cyan-11)',\n 'color-chart-inverse-cyan-01': 'var(--color-chart-inverse-cyan-01)',\n 'color-chart-inverse-cyan-02': 'var(--color-chart-inverse-cyan-02)',\n 'color-chart-inverse-cyan-03': 'var(--color-chart-inverse-cyan-03)',\n 'color-chart-inverse-cyan-04': 'var(--color-chart-inverse-cyan-04)',\n 'color-chart-inverse-cyan-05': 'var(--color-chart-inverse-cyan-05)',\n 'color-chart-inverse-cyan-06': 'var(--color-chart-inverse-cyan-06)',\n 'color-chart-inverse-cyan-07': 'var(--color-chart-inverse-cyan-07)',\n 'color-chart-inverse-cyan-08': 'var(--color-chart-inverse-cyan-08)',\n 'color-chart-inverse-cyan-09': 'var(--color-chart-inverse-cyan-09)',\n 'color-chart-inverse-teal-10': 'var(--color-chart-inverse-teal-10)',\n 'color-chart-inverse-teal-11': 'var(--color-chart-inverse-teal-11)',\n 'color-chart-inverse-teal-01': 'var(--color-chart-inverse-teal-01)',\n 'color-chart-inverse-teal-02': 'var(--color-chart-inverse-teal-02)',\n 'color-chart-inverse-teal-03': 'var(--color-chart-inverse-teal-03)',\n 'color-chart-inverse-teal-04': 'var(--color-chart-inverse-teal-04)',\n 'color-chart-inverse-teal-05': 'var(--color-chart-inverse-teal-05)',\n 'color-chart-inverse-teal-06': 'var(--color-chart-inverse-teal-06)',\n 'color-chart-inverse-teal-07': 'var(--color-chart-inverse-teal-07)',\n 'color-chart-inverse-teal-08': 'var(--color-chart-inverse-teal-08)',\n 'color-chart-inverse-teal-09': 'var(--color-chart-inverse-teal-09)',\n 'color-chart-inverse-emerald-10': 'var(--color-chart-inverse-emerald-10)',\n 'color-chart-inverse-emerald-11': 'var(--color-chart-inverse-emerald-11)',\n 'color-chart-inverse-emerald-01': 'var(--color-chart-inverse-emerald-01)',\n 'color-chart-inverse-emerald-02': 'var(--color-chart-inverse-emerald-02)',\n 'color-chart-inverse-emerald-03': 'var(--color-chart-inverse-emerald-03)',\n 'color-chart-inverse-emerald-04': 'var(--color-chart-inverse-emerald-04)',\n 'color-chart-inverse-emerald-05': 'var(--color-chart-inverse-emerald-05)',\n 'color-chart-inverse-emerald-06': 'var(--color-chart-inverse-emerald-06)',\n 'color-chart-inverse-emerald-07': 'var(--color-chart-inverse-emerald-07)',\n 'color-chart-inverse-emerald-08': 'var(--color-chart-inverse-emerald-08)',\n 'color-chart-inverse-emerald-09': 'var(--color-chart-inverse-emerald-09)',\n 'color-chart-inverse-green-10': 'var(--color-chart-inverse-green-10)',\n 'color-chart-inverse-green-11': 'var(--color-chart-inverse-green-11)',\n 'color-chart-inverse-green-01': 'var(--color-chart-inverse-green-01)',\n 'color-chart-inverse-green-02': 'var(--color-chart-inverse-green-02)',\n 'color-chart-inverse-green-03': 'var(--color-chart-inverse-green-03)',\n 'color-chart-inverse-green-04': 'var(--color-chart-inverse-green-04)',\n 'color-chart-inverse-green-05': 'var(--color-chart-inverse-green-05)',\n 'color-chart-inverse-green-06': 'var(--color-chart-inverse-green-06)',\n 'color-chart-inverse-green-07': 'var(--color-chart-inverse-green-07)',\n 'color-chart-inverse-green-08': 'var(--color-chart-inverse-green-08)',\n 'color-chart-inverse-green-09': 'var(--color-chart-inverse-green-09)',\n 'color-chart-inverse-lime-10': 'var(--color-chart-inverse-lime-10)',\n 'color-chart-inverse-lime-11': 'var(--color-chart-inverse-lime-11)',\n 'color-chart-inverse-lime-01': 'var(--color-chart-inverse-lime-01)',\n 'color-chart-inverse-lime-02': 'var(--color-chart-inverse-lime-02)',\n 'color-chart-inverse-lime-03': 'var(--color-chart-inverse-lime-03)',\n 'color-chart-inverse-lime-04': 'var(--color-chart-inverse-lime-04)',\n 'color-chart-inverse-lime-05': 'var(--color-chart-inverse-lime-05)',\n 'color-chart-inverse-lime-06': 'var(--color-chart-inverse-lime-06)',\n 'color-chart-inverse-lime-07': 'var(--color-chart-inverse-lime-07)',\n 'color-chart-inverse-lime-08': 'var(--color-chart-inverse-lime-08)',\n 'color-chart-inverse-lime-09': 'var(--color-chart-inverse-lime-09)',\n 'color-chart-inverse-violet-10': 'var(--color-chart-inverse-violet-10)',\n 'color-chart-inverse-violet-11': 'var(--color-chart-inverse-violet-11)',\n 'color-chart-inverse-violet-01': 'var(--color-chart-inverse-violet-01)',\n 'color-chart-inverse-violet-02': 'var(--color-chart-inverse-violet-02)',\n 'color-chart-inverse-violet-03': 'var(--color-chart-inverse-violet-03)',\n 'color-chart-inverse-violet-04': 'var(--color-chart-inverse-violet-04)',\n 'color-chart-inverse-violet-05': 'var(--color-chart-inverse-violet-05)',\n 'color-chart-inverse-violet-06': 'var(--color-chart-inverse-violet-06)',\n 'color-chart-inverse-violet-07': 'var(--color-chart-inverse-violet-07)',\n 'color-chart-inverse-violet-08': 'var(--color-chart-inverse-violet-08)',\n 'color-chart-inverse-violet-09': 'var(--color-chart-inverse-violet-09)',\n 'color-chart-inverse-purple-10': 'var(--color-chart-inverse-purple-10)',\n 'color-chart-inverse-purple-11': 'var(--color-chart-inverse-purple-11)',\n 'color-chart-inverse-purple-01': 'var(--color-chart-inverse-purple-01)',\n 'color-chart-inverse-purple-02': 'var(--color-chart-inverse-purple-02)',\n 'color-chart-inverse-purple-03': 'var(--color-chart-inverse-purple-03)',\n 'color-chart-inverse-purple-04': 'var(--color-chart-inverse-purple-04)',\n 'color-chart-inverse-purple-05': 'var(--color-chart-inverse-purple-05)',\n 'color-chart-inverse-purple-06': 'var(--color-chart-inverse-purple-06)',\n 'color-chart-inverse-purple-07': 'var(--color-chart-inverse-purple-07)',\n 'color-chart-inverse-purple-08': 'var(--color-chart-inverse-purple-08)',\n 'color-chart-inverse-purple-09': 'var(--color-chart-inverse-purple-09)',\n 'color-chart-inverse-fuchsia-10': 'var(--color-chart-inverse-fuchsia-10)',\n 'color-chart-inverse-fuchsia-11': 'var(--color-chart-inverse-fuchsia-11)',\n 'color-chart-inverse-fuchsia-01': 'var(--color-chart-inverse-fuchsia-01)',\n 'color-chart-inverse-fuchsia-02': 'var(--color-chart-inverse-fuchsia-02)',\n 'color-chart-inverse-fuchsia-03': 'var(--color-chart-inverse-fuchsia-03)',\n 'color-chart-inverse-fuchsia-04': 'var(--color-chart-inverse-fuchsia-04)',\n 'color-chart-inverse-fuchsia-05': 'var(--color-chart-inverse-fuchsia-05)',\n 'color-chart-inverse-fuchsia-06': 'var(--color-chart-inverse-fuchsia-06)',\n 'color-chart-inverse-fuchsia-07': 'var(--color-chart-inverse-fuchsia-07)',\n 'color-chart-inverse-fuchsia-08': 'var(--color-chart-inverse-fuchsia-08)',\n 'color-chart-inverse-fuchsia-09': 'var(--color-chart-inverse-fuchsia-09)',\n 'color-chart-inverse-pink-10': 'var(--color-chart-inverse-pink-10)',\n 'color-chart-inverse-pink-11': 'var(--color-chart-inverse-pink-11)',\n 'color-chart-inverse-pink-01': 'var(--color-chart-inverse-pink-01)',\n 'color-chart-inverse-pink-02': 'var(--color-chart-inverse-pink-02)',\n 'color-chart-inverse-pink-03': 'var(--color-chart-inverse-pink-03)',\n 'color-chart-inverse-pink-04': 'var(--color-chart-inverse-pink-04)',\n 'color-chart-inverse-pink-05': 'var(--color-chart-inverse-pink-05)',\n 'color-chart-inverse-pink-06': 'var(--color-chart-inverse-pink-06)',\n 'color-chart-inverse-pink-07': 'var(--color-chart-inverse-pink-07)',\n 'color-chart-inverse-pink-08': 'var(--color-chart-inverse-pink-08)',\n 'color-chart-inverse-pink-09': 'var(--color-chart-inverse-pink-09)',\n 'color-chart-inverse-rose-10': 'var(--color-chart-inverse-rose-10)',\n 'color-chart-inverse-rose-11': 'var(--color-chart-inverse-rose-11)',\n 'color-chart-inverse-rose-01': 'var(--color-chart-inverse-rose-01)',\n 'color-chart-inverse-rose-02': 'var(--color-chart-inverse-rose-02)',\n 'color-chart-inverse-rose-03': 'var(--color-chart-inverse-rose-03)',\n 'color-chart-inverse-rose-04': 'var(--color-chart-inverse-rose-04)',\n 'color-chart-inverse-rose-05': 'var(--color-chart-inverse-rose-05)',\n 'color-chart-inverse-rose-06': 'var(--color-chart-inverse-rose-06)',\n 'color-chart-inverse-rose-07': 'var(--color-chart-inverse-rose-07)',\n 'color-chart-inverse-rose-08': 'var(--color-chart-inverse-rose-08)',\n 'color-chart-inverse-rose-09': 'var(--color-chart-inverse-rose-09)',\n 'color-opacity-inverse-10': 'var(--color-opacity-inverse-10)',\n 'color-opacity-inverse-01': 'var(--color-opacity-inverse-01)',\n 'color-opacity-inverse-02': 'var(--color-opacity-inverse-02)',\n 'color-opacity-inverse-03': 'var(--color-opacity-inverse-03)',\n 'color-opacity-inverse-04': 'var(--color-opacity-inverse-04)',\n 'color-opacity-inverse-05': 'var(--color-opacity-inverse-05)',\n 'color-opacity-inverse-06': 'var(--color-opacity-inverse-06)',\n 'color-opacity-inverse-07': 'var(--color-opacity-inverse-07)',\n 'color-opacity-inverse-08': 'var(--color-opacity-inverse-08)',\n 'color-opacity-inverse-09': 'var(--color-opacity-inverse-09)',\n 'color-opacity-inverse-00': 'var(--color-opacity-inverse-00)',\n 'color-opacity-static-10': 'var(--color-opacity-static-10)',\n 'color-opacity-static-01': 'var(--color-opacity-static-01)',\n 'color-opacity-static-02': 'var(--color-opacity-static-02)',\n 'color-opacity-static-03': 'var(--color-opacity-static-03)',\n 'color-opacity-static-04': 'var(--color-opacity-static-04)',\n 'color-opacity-static-05': 'var(--color-opacity-static-05)',\n 'color-opacity-static-06': 'var(--color-opacity-static-06)',\n 'color-opacity-static-07': 'var(--color-opacity-static-07)',\n 'color-opacity-static-08': 'var(--color-opacity-static-08)',\n 'color-opacity-static-09': 'var(--color-opacity-static-09)',\n 'color-opacity-static-00': 'var(--color-opacity-static-00)',\n 'text-caption': 'var(--text-caption)',\n 'text-body-sm': 'var(--text-body-sm)',\n 'text-body-lg': 'var(--text-body-lg)',\n 'text-title-sm': 'var(--text-title-sm)',\n 'text-title-lg': 'var(--text-title-lg)',\n 'text-h6': 'var(--text-h6)',\n 'text-h5': 'var(--text-h5)',\n 'text-h4': 'var(--text-h4)',\n 'text-h3': 'var(--text-h3)',\n 'text-h2': 'var(--text-h2)',\n 'text-h1': 'var(--text-h1)',\n 'text-bullet-point': 'var(--text-bullet-point)',\n 'leading-caption': 'var(--leading-caption)',\n 'leading-body-sm': 'var(--leading-body-sm)',\n 'leading-body-lg': 'var(--leading-body-lg)',\n 'leading-title-sm': 'var(--leading-title-sm)',\n 'leading-title-lg': 'var(--leading-title-lg)',\n 'leading-h6': 'var(--leading-h6)',\n 'leading-h5': 'var(--leading-h5)',\n 'leading-h4': 'var(--leading-h4)',\n 'leading-h3': 'var(--leading-h3)',\n 'leading-h2': 'var(--leading-h2)',\n 'leading-h1': 'var(--leading-h1)',\n 'leading-bullet-point': 'var(--leading-bullet-point)',\n 'font-weight-medium': 'var(--font-weight-medium)',\n 'font-weight-semibold': 'var(--font-weight-semibold)',\n 'font-weight-bold': 'var(--font-weight-bold)',\n 'typography-letter-spacing': 'var(--typography-letter-spacing)',\n} as const;\n\n// Helper function to get CSS variable value\nexport function getTokenValue(tokenName: keyof DesignTokens): string {\n return designTokens[tokenName];\n}\n\n// Helper function to get CSS variable with fallback\nexport function getTokenValueWithFallback(tokenName: keyof DesignTokens, fallback: string): string {\n return `var(--${tokenName}, ${fallback})`;\n}\n"],"mappings":"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AiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,6BAA6B;AAC/B;AAGO,SAAS,cAAc,WAAuC;AACnE,SAAO,aAAa,SAAS;AAC/B;AAGO,SAAS,0BAA0B,WAA+B,UAA0B;AACjG,SAAO,SAAS,SAAS,KAAK,QAAQ;AACxC;","names":["Label","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_react","import_jsx_runtime","Lottie","import_jsx_runtime","import_lucide_react","import_lucide_react","import_jsx_runtime","import_react_slot","import_react","import_jsx_runtime","React","import_react_slot","import_class_variance_authority","import_lucide_react","React","import_jsx_runtime","import_react_slot","import_class_variance_authority","import_lucide_react","import_jsx_runtime","import_react_slot","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","className","props","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","useEmblaCarousel","api","import_lucide_react","import_jsx_runtime","Label","import_jsx_runtime","Label","import_class_variance_authority","import_lucide_react","import_jsx_runtime","import_lucide_react","React","import_react","import_jsx_runtime","import_jsx_runtime","CommandPrimitive","import_lucide_react","import_jsx_runtime","import_lucide_react","import_magick_icons","import_jsx_runtime","import_lucide_react","React","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_lucide_react","import_magick_icons","import_react","import_jsx_runtime","React","existingFiles","updatedFiles","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_lucide_react","React","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","error","React","import_jsx_runtime","BaseOTPInput","BaseOTPInputContext","React","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","Label","import_lucide_react","import_react","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","Sonner","import_jsx_runtime","Label","import_lucide_react","import_class_variance_authority","import_lucide_react","import_magick_icons","React","import_react","import_jsx_runtime","Spinner","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","React","import_jsx_runtime","import_lucide_react","import_react","import_jsx_runtime","value","Label","import_react_slot","React","import_jsx_runtime","Title","import_class_variance_authority","import_jsx_runtime","import_react","import_class_variance_authority","React","import_jsx_runtime","import_class_variance_authority","React","import_jsx_runtime","import_react","import_jsx_runtime","import_lucide_react","import_react","import_jsx_runtime","import_jsx_runtime","import_react_slot","React","import_jsx_runtime","Label","React","import_jsx_runtime","import_react","import_react_hook_form","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../src/index.ts","../schema/component-schema.json","../src/types.ts","../src/ui/Button/schema.ts","../src/ui/Card/schema.ts","../src/ui/form/schema.ts","../src/ui/Input/schema.ts","../src/ui/PasswordInput/schema.ts","../src/ui/TextAreaInput/schema.ts","../src/ui/SelectInput/schema.ts","../src/ui/Checkbox/schema.ts","../src/ui/Radio/schema.ts","../src/ui/Switch/schema.ts","../src/ui/DatePickerInput/schema.ts","../src/ui/TimePicker/schema.ts","../src/ui/Combobox/schema.ts","../src/ui/MultiSelect/schema.ts","../src/ui/OTPInput/schema.ts","../src/ui/FileUpload/schema.ts","../src/ui/Text/schema.ts","../src/ui/Title/schema.ts","../src/ui/Label/schema.ts","../src/ui/Badge/schema.ts","../src/ui/Tag/schema.ts","../src/ui/Chip/schema.ts","../src/ui/Alert/schema.ts","../src/ui/Skeleton/schema.ts","../src/ui/ProgressIndicator/schema.ts","../src/ui/Avatar/schema.ts","../src/ui/AvatarListItem/schema.ts","../src/ui/Media/schema.ts","../src/ui/Grid/schema.ts","../src/ui/Accordion/schema.ts","../src/ui/Tabs/schema.ts","../src/ui/WrapperCard/schema.ts","../src/ui/GradientContainer/schema.ts","../src/ui/Carousel/schema.ts","../src/ui/Toggle/schema.ts","../src/ui/Slider/schema.ts","../src/ui/SearchInput/schema.ts","../src/ui/IconButton/schema.ts","../src/ui/LinkButton/schema.ts","../src/ui/ButtonLink/schema.ts","../src/ui/SelectHover/schema.ts","../src/ui/Breadcrumb/schema.ts","../src/ui/Tooltip/schema.ts","../src/ui/Table/schema.ts","../src/ui/Calendar/schema.ts","../src/ui/FileInput/schema.ts","../src/ui/ToolToggle/schema.ts","../src/ui/ToggleDropdownButton/schema.ts","../src/ui/IconContainer/schema.ts","../src/ui/IconProfile/schema.ts","../src/ui/ButtonWithTooltip/schema.ts","../src/ui/Sheet/schema.ts","../src/ui/Dropdown/schema.ts","../src/ui/Popover/schema.ts","../src/ui/ContextMenu/schema.ts","../src/schema.ts","../src/ui/Accordion/index.tsx","../src/utils.ts","../src/ui/Alert/index.tsx","../src/ui/Avatar/index.tsx","../src/ui/Tooltip/index.tsx","../src/ui/Text/index.tsx","../src/ui/AvatarListItem/index.tsx","../src/ui/Badge/index.tsx","../src/ui/IconContainer/index.tsx","../src/ui/Breadcrumb/index.tsx","../src/ui/Dropdown/index.tsx","../src/ui/Button/index.tsx","../src/ui/Button/ToolButton.tsx","../src/ui/ButtonLink/index.tsx","../src/ui/ButtonWithTooltip/index.tsx","../src/ui/Calendar/index.tsx","../src/ui/Card/index.tsx","../src/ui/Carousel/index.tsx","../src/ui/Checkbox/index.tsx","../src/ui/Label/index.tsx","../src/ui/Chip/index.tsx","../src/ui/Combobox/index.tsx","../src/ui/Popover/index.tsx","../src/ui/ContextMenu/index.tsx","../src/ui/DatePickerInput/index.tsx","../src/ui/FileInput/index.tsx","../src/ui/IconButton/index.tsx","../src/ui/ProgressIndicator/index.tsx","../src/ui/FileUpload/index.tsx","../src/ui/GradientContainer/index.tsx","../src/ui/Grid/index.tsx","../src/ui/IconProfile/index.tsx","../src/ui/Input/index.tsx","../src/ui/LinkButton/index.tsx","../src/ui/Media/index.tsx","../src/ui/MultiSelect/index.tsx","../src/ui/OTPInput/index.tsx","../src/ui/PasswordInput/index.tsx","../src/ui/Radio/index.tsx","../src/ui/SearchInput/index.tsx","../src/ui/SelectHover/index.tsx","../src/ui/SelectInput/index.tsx","../src/ui/Sheet/index.tsx","../src/ui/Skeleton/index.tsx","../src/ui/Slider/index.tsx","../src/ui/Sooner/index.tsx","../src/ui/Switch/index.tsx","../src/ui/Table/index.tsx","../src/ui/Tabs/index.tsx","../src/ui/Tag/index.tsx","../src/ui/TextAreaInput/index.tsx","../src/ui/TimePicker/index.tsx","../src/ui/Title/index.tsx","../src/ui/Toggle/index.tsx","../src/ui/ToggleDropdownButton/index.tsx","../src/ui/ToggleDropdownButton/ToggleDropdownLeftButton.tsx","../src/ui/ToggleDropdownButton/ToggleDropdownRightButton.tsx","../src/ui/ToggleDropdownButton/useToggleDropdown.ts","../src/ui/ToolToggle/index.tsx","../src/ui/WrapperCard/index.tsx","../src/ui/form/Base.tsx","../src/ui/form/FormField.tsx","../src/ui/form/Form.tsx","../src/design-tokens/design-tokens.ts"],"sourcesContent":["// Types\nexport type { UINode, ComponentSchema } from \"./types\";\n\n// Schema\nexport { componentSchema, getComponentSchemas } from \"./schema\";\n\n// UI Components\nexport * from \"./ui\";\n\n// Utils\nexport { cn, getInitials, getFirstName, truncateFileNameMid, getFileSize, getPaginationItems } from \"./utils\";\n\n// Design Tokens\nexport { designTokens, getTokenValue, getTokenValueWithFallback } from \"./design-tokens/design-tokens\";\nexport type { DesignTokens } from \"./design-tokens/design-tokens\";\n","{\n \"$schema\": \"Generative UI Component Schema\",\n \"description\": \"Auto-generated from Zod schemas. Available UI components for composing chat UI. Each node has: type (string), props (object), children (array of nodes, optional).\",\n \"components\": {\n \"button\": {\n \"$ref\": \"#/definitions/button\",\n \"definitions\": {\n \"button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Button text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"outline\",\n \"destructive\",\n \"ghost\",\n \"soft\"\n ],\n \"description\": \"Button style. Defaults to 'primary'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"sm\",\n \"md\",\n \"lg\"\n ],\n \"description\": \"Button size. Defaults to 'md'\"\n },\n \"url\": {\n \"type\": \"string\",\n \"description\": \"URL to open when clicked\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the button is disabled\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An action button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tool-button\": {\n \"$ref\": \"#/definitions/tool-button\",\n \"definitions\": {\n \"tool-button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tool-button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"outline\",\n \"destructive\"\n ],\n \"description\": \"Button style. Defaults to 'primary'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"md\",\n \"lg\"\n ],\n \"description\": \"Button size. Defaults to 'md'\"\n },\n \"state\": {\n \"type\": \"string\",\n \"enum\": [\n \"loading\",\n \"default\"\n ],\n \"description\": \"Button state. Defaults to 'default'\"\n },\n \"onlyIcon\": {\n \"type\": \"boolean\",\n \"description\": \"Icon-only mode with square padding\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Button content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A toolbar action button with loading state\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card\": {\n \"$ref\": \"#/definitions/card\",\n \"definitions\": {\n \"card\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with card-header, card-content, card-footer\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Container card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-header\": {\n \"$ref\": \"#/definitions/card-header\",\n \"definitions\": {\n \"card-header\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-header\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Place card-title and card-description inside\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Header section of a card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-title\": {\n \"$ref\": \"#/definitions/card-title\",\n \"definitions\": {\n \"card-title\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-title\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Title text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Title inside a card-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-description\": {\n \"$ref\": \"#/definitions/card-description\",\n \"definitions\": {\n \"card-description\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-description\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Description text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Description text inside a card-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-content\": {\n \"$ref\": \"#/definitions/card-content\",\n \"definitions\": {\n \"card-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Main content area\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Main content area of a card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-footer\": {\n \"$ref\": \"#/definitions/card-footer\",\n \"definitions\": {\n \"card-footer\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-footer\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Footer area, typically for actions\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Footer section of a card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"card-action\": {\n \"$ref\": \"#/definitions/card-action\",\n \"definitions\": {\n \"card-action\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"card-action\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Action elements (buttons, links) placed at the top-right of a card header\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An action area positioned at the top-right of a card\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"form\": {\n \"$ref\": \"#/definitions/form\",\n \"definitions\": {\n \"form\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"form\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"Unique form ID\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Form field components\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A form container. Wrap form fields inside.\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"input-field\": {\n \"$ref\": \"#/definitions/input-field\",\n \"definitions\": {\n \"input-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"input-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name (maps to form data key)\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text above the input\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"description\": \"Placeholder text\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"text\",\n \"email\",\n \"number\",\n \"url\",\n \"search\",\n \"tel\"\n ],\n \"description\": \"Input type. Defaults to 'text'\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the field is required\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A text input field inside a form\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"password-field\": {\n \"$ref\": \"#/definitions/password-field\",\n \"definitions\": {\n \"password-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"password-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A password input field with show/hide toggle\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"textarea-field\": {\n \"$ref\": \"#/definitions/textarea-field\",\n \"definitions\": {\n \"textarea-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"textarea-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"rows\": {\n \"type\": \"number\",\n \"description\": \"Number of visible rows\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A multi-line text input field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"select-field\": {\n \"$ref\": \"#/definitions/select-field\",\n \"definitions\": {\n \"select-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"select-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of selectable options\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A dropdown select field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"checkbox-field\": {\n \"$ref\": \"#/definitions/checkbox-field\",\n \"definitions\": {\n \"checkbox-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"checkbox-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Checkbox label text\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A checkbox field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"radio-field\": {\n \"$ref\": \"#/definitions/radio-field\",\n \"definitions\": {\n \"radio-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"radio-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Group label\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Option label\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of radio options\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A radio button group field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"switch-field\": {\n \"$ref\": \"#/definitions/switch-field\",\n \"definitions\": {\n \"switch-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"switch-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Switch label\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A toggle switch field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"date-field\": {\n \"$ref\": \"#/definitions/date-field\",\n \"definitions\": {\n \"date-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"date-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"disablePast\": {\n \"type\": \"boolean\",\n \"description\": \"Disable past dates\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A date picker field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"time-field\": {\n \"$ref\": \"#/definitions/time-field\",\n \"definitions\": {\n \"time-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"time-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A time picker field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"combobox-field\": {\n \"$ref\": \"#/definitions/combobox-field\",\n \"definitions\": {\n \"combobox-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"combobox-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of searchable options\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A searchable combobox/autocomplete field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"multi-select-field\": {\n \"$ref\": \"#/definitions/multi-select-field\",\n \"definitions\": {\n \"multi-select-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"multi-select-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"placeholder\": {\n \"type\": \"string\"\n },\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of options for multi-selection\"\n }\n },\n \"required\": [\n \"name\",\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A multi-select dropdown field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"otp-field\": {\n \"$ref\": \"#/definitions/otp-field\",\n \"definitions\": {\n \"otp-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"otp-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"maxLength\": {\n \"type\": \"number\",\n \"description\": \"Number of OTP digits. Defaults to 6\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An OTP (one-time password) input field\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"file-upload-field\": {\n \"$ref\": \"#/definitions/file-upload-field\",\n \"definitions\": {\n \"file-upload-field\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"file-upload-field\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Field name\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"isMultiple\": {\n \"type\": \"boolean\",\n \"description\": \"Allow multiple files\"\n },\n \"maxFiles\": {\n \"type\": \"number\",\n \"description\": \"Maximum number of files\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A file upload field with drag-and-drop\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"text\": {\n \"$ref\": \"#/definitions/text\",\n \"definitions\": {\n \"text\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"text\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Text content\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A paragraph of text\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"title\": {\n \"$ref\": \"#/definitions/title\",\n \"definitions\": {\n \"title\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"title\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Heading text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A heading / title element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"label\": {\n \"$ref\": \"#/definitions/label\",\n \"definitions\": {\n \"label\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"label\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n },\n \"htmlFor\": {\n \"type\": \"string\",\n \"description\": \"ID of the form element this label is for\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A form label element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"badge\": {\n \"$ref\": \"#/definitions/badge\",\n \"definitions\": {\n \"badge\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"badge\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Badge text\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary-hard\",\n \"primary-soft\",\n \"destructive-hard\",\n \"destructive-soft\",\n \"secondary-hard\",\n \"secondary-soft\"\n ],\n \"description\": \"Badge style. Defaults to 'primary-hard'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"sm\",\n \"md\"\n ],\n \"description\": \"Badge size. Defaults to 'sm'\"\n },\n \"rounded\": {\n \"type\": \"boolean\",\n \"description\": \"Fully rounded pill shape\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A small status badge / label\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tag\": {\n \"$ref\": \"#/definitions/tag\",\n \"definitions\": {\n \"tag\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tag\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Tag text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"destructive\"\n ],\n \"description\": \"Tag color variant. Defaults to 'primary'\"\n }\n },\n \"required\": [\n \"label\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A colored tag / pill\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"chip\": {\n \"$ref\": \"#/definitions/chip\",\n \"definitions\": {\n \"chip\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"chip\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Chip text\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"rounded\",\n \"rectangle\"\n ],\n \"description\": \"Chip shape. Defaults to 'rounded'\"\n },\n \"color\": {\n \"type\": \"string\",\n \"enum\": [\n \"slate\",\n \"red\",\n \"orange\",\n \"amber\",\n \"yellow\",\n \"lime\",\n \"green\",\n \"emerald\",\n \"teal\",\n \"cyan\",\n \"sky\",\n \"blue\",\n \"indigo\",\n \"violet\",\n \"purple\",\n \"fuchsia\",\n \"pink\",\n \"rose\"\n ],\n \"description\": \"Chip color. Defaults to 'slate'\"\n },\n \"dot\": {\n \"type\": \"boolean\",\n \"description\": \"Show a colored dot indicator\"\n },\n \"avatar\": {\n \"type\": \"string\",\n \"description\": \"Avatar image URL shown inside the chip\"\n }\n },\n \"required\": [\n \"label\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A compact chip element with optional color dot or avatar\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"alert\": {\n \"$ref\": \"#/definitions/alert\",\n \"definitions\": {\n \"alert\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"alert\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"default\",\n \"secondary\",\n \"destructive\"\n ],\n \"description\": \"Alert style. Defaults to 'default'\"\n },\n \"title\": {\n \"type\": \"string\",\n \"description\": \"Alert heading\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Alert body text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An alert / notice banner\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"skeleton\": {\n \"$ref\": \"#/definitions/skeleton\",\n \"definitions\": {\n \"skeleton\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"skeleton\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"className\": {\n \"type\": \"string\",\n \"description\": \"Tailwind classes to control width/height, e.g. 'h-4 w-[250px]'\"\n }\n },\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A loading placeholder skeleton\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"progress-indicator\": {\n \"$ref\": \"#/definitions/progress-indicator\",\n \"definitions\": {\n \"progress-indicator\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"progress-indicator\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"number\",\n \"description\": \"Current progress value\"\n },\n \"max\": {\n \"type\": \"number\",\n \"description\": \"Maximum value. Defaults to 100\"\n },\n \"showPercentage\": {\n \"type\": \"boolean\",\n \"description\": \"Show percentage text. Defaults to true\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"bar\",\n \"circle\"\n ],\n \"description\": \"Display style. Defaults to 'bar'\"\n }\n },\n \"required\": [\n \"value\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A progress bar or circular progress indicator\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"avatar\": {\n \"$ref\": \"#/definitions/avatar\",\n \"definitions\": {\n \"avatar\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"avatar\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"image\",\n \"text\",\n \"placeholder\"\n ],\n \"description\": \"Avatar display mode\"\n },\n \"fallback\": {\n \"type\": \"string\",\n \"description\": \"Fallback text (initials) when image is unavailable\"\n },\n \"imgsrc\": {\n \"type\": \"string\",\n \"description\": \"Image URL (required when variant is 'image')\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n \"5xl\"\n ],\n \"description\": \"Avatar size. Defaults to 'md'\"\n },\n \"status\": {\n \"type\": \"string\",\n \"enum\": [\n \"active\",\n \"inactive\"\n ],\n \"description\": \"Online status indicator\"\n }\n },\n \"required\": [\n \"variant\",\n \"fallback\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A user avatar displaying an image, initials, or placeholder\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"avatar-list-item\": {\n \"$ref\": \"#/definitions/avatar-list-item\",\n \"definitions\": {\n \"avatar-list-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"avatar-list-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"avatar\": {\n \"type\": \"string\",\n \"description\": \"Avatar image URL\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Display name\"\n },\n \"email\": {\n \"type\": \"string\",\n \"description\": \"Email address\"\n },\n \"isMe\": {\n \"type\": \"boolean\",\n \"description\": \"Highlight as current user\"\n }\n },\n \"required\": [\n \"avatar\",\n \"name\",\n \"email\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An avatar with name and email, typically used in lists\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"media\": {\n \"$ref\": \"#/definitions/media\",\n \"definitions\": {\n \"media\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"media\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"src\": {\n \"type\": \"string\",\n \"description\": \"Media source URL\"\n },\n \"alt\": {\n \"type\": \"string\",\n \"description\": \"Alt text for images\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"image\",\n \"video\"\n ],\n \"description\": \"Media type. Defaults to 'image'\"\n },\n \"aspectRatio\": {\n \"type\": \"string\",\n \"enum\": [\n \"1:1\",\n \"16:9\",\n \"9:16\",\n \"4:3\",\n \"3:4\"\n ],\n \"description\": \"Fixed aspect ratio\"\n },\n \"objectFit\": {\n \"type\": \"string\",\n \"enum\": [\n \"cover\",\n \"contain\",\n \"fill\",\n \"scale-down\",\n \"none\"\n ],\n \"description\": \"How the media fills its container. Defaults to 'cover'\"\n },\n \"rounded\": {\n \"type\": \"string\",\n \"enum\": [\n \"none\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"full\"\n ],\n \"description\": \"Border radius\"\n },\n \"loading\": {\n \"type\": \"string\",\n \"enum\": [\n \"lazy\",\n \"eager\"\n ],\n \"description\": \"Loading strategy. Defaults to 'lazy'\"\n }\n },\n \"required\": [\n \"src\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An image or video media element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"grid\": {\n \"$ref\": \"#/definitions/grid\",\n \"definitions\": {\n \"grid\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"grid\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"className\": {\n \"type\": \"string\",\n \"description\": \"Tailwind grid classes, e.g. 'grid-cols-2 gap-4'\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Grid items\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A CSS grid layout container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion\": {\n \"$ref\": \"#/definitions/accordion\",\n \"definitions\": {\n \"accordion\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"single\",\n \"multiple\"\n ],\n \"description\": \"Allow one or multiple items open. Defaults to 'single'\"\n },\n \"collapsible\": {\n \"type\": \"boolean\",\n \"description\": \"Allow collapsing all items\"\n },\n \"defaultValue\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ],\n \"description\": \"Initially open item value(s)\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with accordion-item children\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A collapsible accordion container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion-item\": {\n \"$ref\": \"#/definitions/accordion-item\",\n \"definitions\": {\n \"accordion-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Unique item identifier\"\n }\n },\n \"required\": [\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Place accordion-trigger and accordion-content inside\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single accordion section\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion-trigger\": {\n \"$ref\": \"#/definitions/accordion-trigger\",\n \"definitions\": {\n \"accordion-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Trigger label text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Clickable header that toggles an accordion-item\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"accordion-content\": {\n \"$ref\": \"#/definitions/accordion-content\",\n \"definitions\": {\n \"accordion-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"accordion-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Content revealed when the item is open\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Collapsible content area of an accordion-item\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tabs\": {\n \"$ref\": \"#/definitions/tabs\",\n \"definitions\": {\n \"tabs\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tabs\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"defaultActiveTab\": {\n \"type\": \"string\",\n \"description\": \"Value of the initially active tab\"\n },\n \"tabs\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Unique tab identifier\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Tab label text\"\n },\n \"count\": {\n \"type\": \"number\",\n \"description\": \"Badge count on the tab\"\n },\n \"notification\": {\n \"type\": \"boolean\",\n \"description\": \"Show notification dot\"\n }\n },\n \"required\": [\n \"value\",\n \"label\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Tab definitions\"\n },\n \"tabSmall\": {\n \"type\": \"boolean\",\n \"description\": \"Use compact tab styling\"\n },\n \"showContent\": {\n \"type\": \"boolean\",\n \"description\": \"Show tab content panels. Defaults to true\"\n }\n },\n \"required\": [\n \"defaultActiveTab\",\n \"tabs\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Tab content panels (one per tab, in order)\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A tabbed interface with switchable content panels\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"wrapper-card\": {\n \"$ref\": \"#/definitions/wrapper-card\",\n \"definitions\": {\n \"wrapper-card\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"wrapper-card\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Card body content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A simple card wrapper with default padding and border\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"gradient-container\": {\n \"$ref\": \"#/definitions/gradient-container\",\n \"definitions\": {\n \"gradient-container\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"gradient-container\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Content inside the gradient container\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A container with a gradient background\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"carousel\": {\n \"$ref\": \"#/definitions/carousel\",\n \"definitions\": {\n \"carousel\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"carousel\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"orientation\": {\n \"type\": \"string\",\n \"enum\": [\n \"horizontal\",\n \"vertical\"\n ],\n \"description\": \"Scroll direction. Defaults to 'horizontal'\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Place a carousel-content inside\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A scrollable carousel container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"carousel-content\": {\n \"$ref\": \"#/definitions/carousel-content\",\n \"definitions\": {\n \"carousel-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"carousel-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with carousel-item children\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content track of a carousel\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"carousel-item\": {\n \"$ref\": \"#/definitions/carousel-item\",\n \"definitions\": {\n \"carousel-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"carousel-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Content for this slide\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single slide inside a carousel\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"toggle\": {\n \"$ref\": \"#/definitions/toggle\",\n \"definitions\": {\n \"toggle\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"toggle\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"active\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the toggle is pressed\"\n },\n \"shape\": {\n \"type\": \"string\",\n \"enum\": [\n \"rectangle\",\n \"rounded\"\n ],\n \"description\": \"Toggle shape. Defaults to 'rectangle'\"\n },\n \"style\": {\n \"type\": \"string\",\n \"enum\": [\n \"ghost\",\n \"outline\",\n \"soft\"\n ],\n \"description\": \"Visual style. Defaults to 'soft'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"sm\",\n \"md\",\n \"lg\"\n ],\n \"description\": \"Toggle size. Defaults to 'sm'\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Toggle label / content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A pressable toggle button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"slider\": {\n \"$ref\": \"#/definitions/slider\",\n \"definitions\": {\n \"slider\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"slider\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"defaultValue\": {\n \"anyOf\": [\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n }\n }\n ],\n \"description\": \"Initial value or range [min, max]\"\n },\n \"min\": {\n \"type\": \"number\",\n \"description\": \"Minimum value. Defaults to 0\"\n },\n \"max\": {\n \"type\": \"number\",\n \"description\": \"Maximum value. Defaults to 100\"\n },\n \"step\": {\n \"type\": \"number\",\n \"description\": \"Step increment\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A range slider input\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"search-input\": {\n \"$ref\": \"#/definitions/search-input\",\n \"definitions\": {\n \"search-input\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"search-input\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"searchKey\": {\n \"type\": \"string\",\n \"description\": \"URL query param key for the search value\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"description\": \"Placeholder text. Defaults to 'Search by...'\"\n },\n \"debounceDelay\": {\n \"type\": \"number\",\n \"description\": \"Debounce delay in ms. Defaults to 500\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"ghost\",\n \"outline\"\n ],\n \"description\": \"Input style variant\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"searchKey\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A search input with debounced query param binding\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"icon-button\": {\n \"$ref\": \"#/definitions/icon-button\",\n \"definitions\": {\n \"icon-button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"icon-button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"icon\": {\n \"type\": \"string\",\n \"description\": \"Icon name (resolved by the renderer)\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"destructive\",\n \"outline\",\n \"ghost\",\n \"soft\",\n \"ai-filled\",\n \"ai-outline\",\n \"glass\"\n ],\n \"description\": \"Button style. Defaults to 'primary'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\"\n ],\n \"description\": \"Button size. Defaults to 'sm'\"\n },\n \"active\": {\n \"type\": \"boolean\",\n \"description\": \"Active / pressed state\"\n },\n \"rounded\": {\n \"type\": \"boolean\",\n \"description\": \"Fully round button\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"icon\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An icon-only action button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"link-button\": {\n \"$ref\": \"#/definitions/link-button\",\n \"definitions\": {\n \"link-button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"link-button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"href\": {\n \"type\": \"string\",\n \"description\": \"Link URL\"\n },\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Link text\"\n }\n },\n \"required\": [\n \"href\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A button styled as a navigation link\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"button-link\": {\n \"$ref\": \"#/definitions/button-link\",\n \"definitions\": {\n \"button-link\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"button-link\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Link text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"link\",\n \"text-link\",\n \"error\"\n ],\n \"description\": \"Link style. Defaults to 'link'\"\n },\n \"href\": {\n \"type\": \"string\",\n \"description\": \"Link URL\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An inline text link styled as a button\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"select-hover\": {\n \"$ref\": \"#/definitions/select-hover\",\n \"definitions\": {\n \"select-hover\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"select-hover\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"options\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Display text\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Option value\"\n }\n },\n \"required\": [\n \"label\",\n \"value\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Array of selectable options\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"description\": \"Placeholder text. Defaults to 'Select an option'\"\n },\n \"value\": {\n \"type\": \"string\",\n \"description\": \"Currently selected value\"\n }\n },\n \"required\": [\n \"options\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A hover-activated select dropdown\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"breadcrumb\": {\n \"$ref\": \"#/definitions/breadcrumb\",\n \"definitions\": {\n \"breadcrumb\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"breadcrumb\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Breadcrumb text\"\n },\n \"href\": {\n \"type\": \"string\",\n \"description\": \"Navigation URL\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"label\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Ordered list of breadcrumb segments\"\n }\n },\n \"required\": [\n \"items\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A breadcrumb navigation trail\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tooltip\": {\n \"$ref\": \"#/definitions/tooltip\",\n \"definitions\": {\n \"tooltip\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tooltip\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"content\": {\n \"type\": \"string\",\n \"description\": \"Tooltip text\"\n },\n \"position\": {\n \"type\": \"string\",\n \"enum\": [\n \"top\",\n \"top-center\",\n \"top-left\",\n \"top-right\",\n \"bottom\",\n \"bottom-left\",\n \"bottom-center\",\n \"bottom-right\",\n \"left\",\n \"right\"\n ],\n \"description\": \"Tooltip placement\"\n },\n \"withArrow\": {\n \"type\": \"boolean\",\n \"description\": \"Show an arrow pointer\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The trigger element the tooltip wraps\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A tooltip that appears on hover over its child element\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"table\": {\n \"$ref\": \"#/definitions/table\",\n \"definitions\": {\n \"table\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"table\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"columns\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"accessorKey\": {\n \"type\": \"string\",\n \"description\": \"Key in the row data object\"\n },\n \"header\": {\n \"type\": \"string\",\n \"description\": \"Column header text\"\n }\n },\n \"required\": [\n \"accessorKey\",\n \"header\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Column definitions\"\n },\n \"tableData\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"description\": \"Array of row data objects\"\n }\n },\n \"required\": [\n \"columns\",\n \"tableData\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A data table with columns and rows\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"calendar\": {\n \"$ref\": \"#/definitions/calendar\",\n \"definitions\": {\n \"calendar\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"calendar\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"showOutsideDays\": {\n \"type\": \"boolean\",\n \"description\": \"Show days from adjacent months. Defaults to true\"\n },\n \"captionLayout\": {\n \"type\": \"string\",\n \"enum\": [\n \"label\",\n \"dropdown\",\n \"dropdown-months\",\n \"dropdown-years\"\n ],\n \"description\": \"Caption display mode. Defaults to 'label'\"\n },\n \"buttonVariant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"outline\",\n \"destructive\",\n \"ghost\",\n \"soft\"\n ],\n \"description\": \"Navigation button style. Defaults to 'ghost'\"\n },\n \"mode\": {\n \"type\": \"string\",\n \"enum\": [\n \"single\",\n \"multiple\",\n \"range\"\n ],\n \"description\": \"Selection mode\"\n },\n \"numberOfMonths\": {\n \"type\": \"number\",\n \"description\": \"Number of months to display\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A date calendar for picking dates or date ranges\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"file-input\": {\n \"$ref\": \"#/definitions/file-input\",\n \"definitions\": {\n \"file-input\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"file-input\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Label text above the input\"\n },\n \"helperText\": {\n \"type\": \"string\",\n \"description\": \"Helper text below the input\"\n },\n \"error\": {\n \"type\": \"boolean\",\n \"description\": \"Show error styling. Defaults to false\"\n },\n \"accept\": {\n \"type\": \"string\",\n \"description\": \"Accepted file types, e.g. 'image/*,.pdf'\"\n },\n \"multiple\": {\n \"type\": \"boolean\",\n \"description\": \"Allow multiple files. Defaults to false\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A file input with choose-file button and upload progress\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"tool-toggle\": {\n \"$ref\": \"#/definitions/tool-toggle\",\n \"definitions\": {\n \"tool-toggle\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"tool-toggle\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"icon\": {\n \"type\": \"string\",\n \"description\": \"Icon name (resolved by the renderer)\"\n },\n \"dropdown\": {\n \"type\": \"boolean\",\n \"description\": \"Show dropdown chevron\"\n }\n },\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A round toggle button used in toolbars, optionally with a dropdown\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"toggle-dropdown-button\": {\n \"$ref\": \"#/definitions/toggle-dropdown-button\",\n \"definitions\": {\n \"toggle-dropdown-button\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"toggle-dropdown-button\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"text\",\n \"icon\"\n ],\n \"description\": \"Button content type\"\n },\n \"selected\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the button is selected\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"primary\",\n \"secondary\",\n \"destructive\"\n ],\n \"description\": \"Button color variant\"\n }\n },\n \"required\": [\n \"type\",\n \"selected\",\n \"variant\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A split toggle button with an attached dropdown trigger\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"icon-container\": {\n \"$ref\": \"#/definitions/icon-container\",\n \"definitions\": {\n \"icon-container\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"icon-container\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"icon\": {\n \"type\": \"string\",\n \"description\": \"Icon name (resolved by the renderer)\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n \"5xl\",\n \"6xl\",\n \"auto\"\n ],\n \"description\": \"Icon size. Defaults to 'sm'\"\n },\n \"colorInFill\": {\n \"type\": \"boolean\",\n \"description\": \"Apply fill colors to SVG paths. Defaults to true\"\n },\n \"disableTheme\": {\n \"type\": \"boolean\",\n \"description\": \"Disable theme-aware coloring. Defaults to false\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Icon element\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A sized container for static icons with theme-aware coloring\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"icon-profile\": {\n \"$ref\": \"#/definitions/icon-profile\",\n \"definitions\": {\n \"icon-profile\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"icon-profile\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"icon\": {\n \"type\": \"string\",\n \"description\": \"Icon name (resolved by the renderer)\"\n },\n \"color\": {\n \"type\": \"string\",\n \"enum\": [\n \"red\",\n \"orange\",\n \"amber\",\n \"yellow\",\n \"lime\",\n \"green\",\n \"emerald\",\n \"teal\",\n \"cyan\",\n \"sky\",\n \"blue\",\n \"indigo\",\n \"violet\",\n \"purple\",\n \"fuchsia\",\n \"pink\",\n \"rose\",\n \"slate\"\n ],\n \"description\": \"Background glow and icon color. Defaults to 'red'\"\n },\n \"size\": {\n \"type\": \"string\",\n \"enum\": [\n \"26\",\n \"32\",\n \"40\",\n \"48\",\n \"56\",\n \"64\"\n ],\n \"description\": \"Size in pixels. Defaults to '64'\"\n },\n \"externalIcon\": {\n \"type\": \"boolean\",\n \"description\": \"Whether the icon is external\"\n }\n },\n \"required\": [\n \"icon\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"An icon with a colored radial glow background\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"button-with-tooltip\": {\n \"$ref\": \"#/definitions/button-with-tooltip\",\n \"definitions\": {\n \"button-with-tooltip\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"button-with-tooltip\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"content\": {\n \"type\": \"string\",\n \"description\": \"Tooltip text\"\n },\n \"position\": {\n \"type\": \"string\",\n \"enum\": [\n \"top\",\n \"top-center\",\n \"top-left\",\n \"top-right\",\n \"bottom\",\n \"bottom-left\",\n \"bottom-center\",\n \"bottom-right\",\n \"left\",\n \"right\"\n ],\n \"description\": \"Tooltip placement\"\n },\n \"withArrow\": {\n \"type\": \"boolean\",\n \"description\": \"Show an arrow pointer\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The button element to wrap with a tooltip\"\n }\n },\n \"required\": [\n \"type\",\n \"props\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A button wrapped with a tooltip that appears on hover\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet\": {\n \"$ref\": \"#/definitions/sheet\",\n \"definitions\": {\n \"sheet\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with sheet-trigger and sheet-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A slide-out panel overlay\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-trigger\": {\n \"$ref\": \"#/definitions/sheet-trigger\",\n \"definitions\": {\n \"sheet-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that opens the sheet\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger element that opens a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-content\": {\n \"$ref\": \"#/definitions/sheet-content\",\n \"definitions\": {\n \"sheet-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"side\": {\n \"type\": \"string\",\n \"enum\": [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\"\n ],\n \"description\": \"Slide-in direction. Defaults to 'right'\"\n },\n \"showCloseButton\": {\n \"type\": \"boolean\",\n \"description\": \"Show close button. Defaults to true\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Sheet body content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-header\": {\n \"$ref\": \"#/definitions/sheet-header\",\n \"definitions\": {\n \"sheet-header\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-header\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Header section of a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-footer\": {\n \"$ref\": \"#/definitions/sheet-footer\",\n \"definitions\": {\n \"sheet-footer\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-footer\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Footer section of a sheet\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-title\": {\n \"$ref\": \"#/definitions/sheet-title\",\n \"definitions\": {\n \"sheet-title\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-title\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Title text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Title inside a sheet-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"sheet-description\": {\n \"$ref\": \"#/definitions/sheet-description\",\n \"definitions\": {\n \"sheet-description\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"sheet-description\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Description text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Description text inside a sheet-header\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu\": {\n \"$ref\": \"#/definitions/dropdown-menu\",\n \"definitions\": {\n \"dropdown-menu\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with dropdown-menu-trigger and dropdown-menu-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A dropdown menu container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-trigger\": {\n \"$ref\": \"#/definitions/dropdown-menu-trigger\",\n \"definitions\": {\n \"dropdown-menu-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that opens the dropdown\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger element that opens a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-content\": {\n \"$ref\": \"#/definitions/dropdown-menu-content\",\n \"definitions\": {\n \"dropdown-menu-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"side\": {\n \"type\": \"string\",\n \"enum\": [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\"\n ]\n },\n \"align\": {\n \"type\": \"string\",\n \"enum\": [\n \"start\",\n \"center\",\n \"end\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Menu items\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-item\": {\n \"$ref\": \"#/definitions/dropdown-menu-item\",\n \"definitions\": {\n \"dropdown-menu-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Menu item text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"default\",\n \"destructive\"\n ],\n \"description\": \"Item style. Defaults to 'default'\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single item inside a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-separator\": {\n \"$ref\": \"#/definitions/dropdown-menu-separator\",\n \"definitions\": {\n \"dropdown-menu-separator\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-separator\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A visual separator between dropdown menu items\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"dropdown-menu-label\": {\n \"$ref\": \"#/definitions/dropdown-menu-label\",\n \"definitions\": {\n \"dropdown-menu-label\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"dropdown-menu-label\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Label text\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A non-interactive label inside a dropdown menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"popover\": {\n \"$ref\": \"#/definitions/popover\",\n \"definitions\": {\n \"popover\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"popover\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with popover-trigger and popover-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A popover overlay container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"popover-trigger\": {\n \"$ref\": \"#/definitions/popover-trigger\",\n \"definitions\": {\n \"popover-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"popover-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that opens the popover\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger element that opens a popover\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"popover-content\": {\n \"$ref\": \"#/definitions/popover-content\",\n \"definitions\": {\n \"popover-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"popover-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"align\": {\n \"type\": \"string\",\n \"enum\": [\n \"start\",\n \"center\",\n \"end\"\n ],\n \"description\": \"Alignment relative to trigger. Defaults to 'center'\"\n },\n \"sideOffset\": {\n \"type\": \"number\",\n \"description\": \"Offset from trigger in px. Defaults to 4\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Popover body content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a popover\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu\": {\n \"$ref\": \"#/definitions/context-menu\",\n \"definitions\": {\n \"context-menu\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Compose with context-menu-trigger and context-menu-content\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A right-click context menu container\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-trigger\": {\n \"$ref\": \"#/definitions/context-menu-trigger\",\n \"definitions\": {\n \"context-menu-trigger\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-trigger\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"The element that triggers the context menu on right-click\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Trigger area for a context menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-content\": {\n \"$ref\": \"#/definitions/context-menu-content\",\n \"definitions\": {\n \"context-menu-content\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-content\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"Menu items\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Content panel of a context menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-item\": {\n \"$ref\": \"#/definitions/context-menu-item\",\n \"definitions\": {\n \"context-menu-item\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-item\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {\n \"children\": {\n \"type\": \"string\",\n \"description\": \"Menu item text\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"enum\": [\n \"default\",\n \"destructive\"\n ],\n \"description\": \"Item style. Defaults to 'default'\"\n },\n \"disabled\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\"\n },\n \"props\": {\n \"type\": \"object\",\n \"additionalProperties\": {}\n },\n \"children\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false\n }\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A single item inside a context menu\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n },\n \"context-menu-separator\": {\n \"$ref\": \"#/definitions/context-menu-separator\",\n \"definitions\": {\n \"context-menu-separator\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"const\": \"context-menu-separator\"\n },\n \"props\": {\n \"type\": \"object\",\n \"properties\": {},\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"type\"\n ],\n \"additionalProperties\": false,\n \"description\": \"A visual separator between context menu items\"\n }\n },\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n }\n }\n}\n","import { z } from \"zod\";\n\nexport interface UINode {\n type: string;\n props?: Record<string, unknown>;\n children?: UINode[];\n}\n\nexport interface ComponentSchema {\n $schema: string;\n description: string;\n components: Record<string, unknown>;\n}\n\nexport const uiNodeSchema: z.ZodType<any> = z.lazy(() =>\n z.object({\n type: z.string(),\n props: z.record(z.unknown()).optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n);\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const buttonSchema = z\n .object({\n type: z.literal(\"button\"),\n props: z\n .object({\n label: z.string().optional().describe(\"Button text\"),\n variant: z\n .enum([\"primary\", \"secondary\", \"outline\", \"destructive\", \"ghost\", \"soft\"])\n .optional()\n .describe(\"Button style. Defaults to 'primary'\"),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional().describe(\"Button size. Defaults to 'md'\"),\n url: z.string().optional().describe(\"URL to open when clicked\"),\n disabled: z.boolean().optional().describe(\"Whether the button is disabled\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"An action button\");\n\nexport const toolButtonSchema = z\n .object({\n type: z.literal(\"tool-button\"),\n props: z\n .object({\n variant: z\n .enum([\"primary\", \"outline\", \"destructive\"])\n .optional()\n .describe(\"Button style. Defaults to 'primary'\"),\n size: z.enum([\"md\", \"lg\"]).optional().describe(\"Button size. Defaults to 'md'\"),\n state: z\n .enum([\"loading\", \"default\"])\n .optional()\n .describe(\"Button state. Defaults to 'default'\"),\n onlyIcon: z.boolean().optional().describe(\"Icon-only mode with square padding\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional().describe(\"Button content\"),\n })\n .describe(\"A toolbar action button with loading state\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const cardSchema = z\n .object({\n type: z.literal(\"card\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Compose with card-header, card-content, card-footer\"),\n })\n .describe(\"Container card\");\n\nexport const cardHeaderSchema = z\n .object({\n type: z.literal(\"card-header\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Place card-title and card-description inside\"),\n })\n .describe(\"Header section of a card\");\n\nexport const cardTitleSchema = z\n .object({\n type: z.literal(\"card-title\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Title text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"Title inside a card-header\");\n\nexport const cardDescriptionSchema = z\n .object({\n type: z.literal(\"card-description\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Description text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"Description text inside a card-header\");\n\nexport const cardContentSchema = z\n .object({\n type: z.literal(\"card-content\"),\n props: z.object({}).optional(),\n children: z.array(uiNodeSchema).optional().describe(\"Main content area\"),\n })\n .describe(\"Main content area of a card\");\n\nexport const cardFooterSchema = z\n .object({\n type: z.literal(\"card-footer\"),\n props: z.object({}).optional(),\n children: z.array(uiNodeSchema).optional().describe(\"Footer area, typically for actions\"),\n })\n .describe(\"Footer section of a card\");\n\nexport const cardActionSchema = z\n .object({\n type: z.literal(\"card-action\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Action elements (buttons, links) placed at the top-right of a card header\"),\n })\n .describe(\"An action area positioned at the top-right of a card\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const formSchema = z\n .object({\n type: z.literal(\"form\"),\n props: z.object({\n id: z.string().describe(\"Unique form ID\"),\n }),\n children: z.array(uiNodeSchema).optional().describe(\"Form field components\"),\n })\n .describe(\"A form container. Wrap form fields inside.\");\n","import { z } from \"zod\";\n\nexport const inputFieldSchema = z\n .object({\n type: z.literal(\"input-field\"),\n props: z.object({\n name: z.string().describe(\"Field name (maps to form data key)\"),\n label: z.string().optional().describe(\"Label text above the input\"),\n placeholder: z.string().optional().describe(\"Placeholder text\"),\n type: z.enum([\"text\", \"email\", \"number\", \"url\", \"search\", \"tel\"]).optional().describe(\"Input type. Defaults to 'text'\"),\n required: z.boolean().optional().describe(\"Whether the field is required\"),\n disabled: z.boolean().optional(),\n }),\n })\n .describe(\"A text input field inside a form\");\n","import { z } from \"zod\";\n\nexport const passwordFieldSchema = z\n .object({\n type: z.literal(\"password-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n placeholder: z.string().optional(),\n }),\n })\n .describe(\"A password input field with show/hide toggle\");\n","import { z } from \"zod\";\n\nexport const textareaFieldSchema = z\n .object({\n type: z.literal(\"textarea-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n placeholder: z.string().optional(),\n rows: z.number().optional().describe(\"Number of visible rows\"),\n }),\n })\n .describe(\"A multi-line text input field\");\n","import { z } from \"zod\";\n\nexport const selectFieldSchema = z\n .object({\n type: z.literal(\"select-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n placeholder: z.string().optional(),\n options: z\n .array(z.object({\n label: z.string().describe(\"Display text\"),\n value: z.string().describe(\"Option value\"),\n }))\n .describe(\"Array of selectable options\"),\n required: z.boolean().optional(),\n }),\n })\n .describe(\"A dropdown select field\");\n","import { z } from \"zod\";\n\nexport const checkboxFieldSchema = z\n .object({\n type: z.literal(\"checkbox-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Checkbox label text\"),\n }),\n })\n .describe(\"A checkbox field\");\n","import { z } from \"zod\";\n\nexport const radioFieldSchema = z\n .object({\n type: z.literal(\"radio-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Group label\"),\n options: z\n .array(z.object({\n label: z.string().describe(\"Option label\"),\n value: z.string().describe(\"Option value\"),\n }))\n .describe(\"Array of radio options\"),\n }),\n })\n .describe(\"A radio button group field\");\n","import { z } from \"zod\";\n\nexport const switchFieldSchema = z\n .object({\n type: z.literal(\"switch-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Switch label\"),\n }),\n })\n .describe(\"A toggle switch field\");\n","import { z } from \"zod\";\n\nexport const dateFieldSchema = z\n .object({\n type: z.literal(\"date-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n placeholder: z.string().optional(),\n disablePast: z.boolean().optional().describe(\"Disable past dates\"),\n required: z.boolean().optional(),\n }),\n })\n .describe(\"A date picker field\");\n","import { z } from \"zod\";\n\nexport const timeFieldSchema = z\n .object({\n type: z.literal(\"time-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n }),\n })\n .describe(\"A time picker field\");\n","import { z } from \"zod\";\n\nexport const comboboxFieldSchema = z\n .object({\n type: z.literal(\"combobox-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n placeholder: z.string().optional(),\n options: z\n .array(z.object({\n label: z.string().describe(\"Display text\"),\n value: z.string().describe(\"Option value\"),\n }))\n .describe(\"Array of searchable options\"),\n }),\n })\n .describe(\"A searchable combobox/autocomplete field\");\n","import { z } from \"zod\";\n\nexport const multiSelectFieldSchema = z\n .object({\n type: z.literal(\"multi-select-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n placeholder: z.string().optional(),\n options: z\n .array(z.object({\n label: z.string().describe(\"Display text\"),\n value: z.string().describe(\"Option value\"),\n }))\n .describe(\"Array of options for multi-selection\"),\n }),\n })\n .describe(\"A multi-select dropdown field\");\n","import { z } from \"zod\";\n\nexport const otpFieldSchema = z\n .object({\n type: z.literal(\"otp-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n maxLength: z.number().optional().describe(\"Number of OTP digits. Defaults to 6\"),\n }),\n })\n .describe(\"An OTP (one-time password) input field\");\n","import { z } from \"zod\";\n\nexport const fileUploadFieldSchema = z\n .object({\n type: z.literal(\"file-upload-field\"),\n props: z.object({\n name: z.string().describe(\"Field name\"),\n label: z.string().optional().describe(\"Label text\"),\n isMultiple: z.boolean().optional().describe(\"Allow multiple files\"),\n maxFiles: z.number().optional().describe(\"Maximum number of files\"),\n }),\n })\n .describe(\"A file upload field with drag-and-drop\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const textSchema = z\n .object({\n type: z.literal(\"text\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Text content\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A paragraph of text\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const titleSchema = z\n .object({\n type: z.literal(\"title\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Heading text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A heading / title element\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const labelSchema = z\n .object({\n type: z.literal(\"label\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Label text\"),\n htmlFor: z.string().optional().describe(\"ID of the form element this label is for\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A form label element\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const badgeSchema = z\n .object({\n type: z.literal(\"badge\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Badge text\"),\n type: z\n .enum([\n \"primary-hard\",\n \"primary-soft\",\n \"destructive-hard\",\n \"destructive-soft\",\n \"secondary-hard\",\n \"secondary-soft\",\n ])\n .optional()\n .describe(\"Badge style. Defaults to 'primary-hard'\"),\n size: z.enum([\"sm\", \"md\"]).optional().describe(\"Badge size. Defaults to 'sm'\"),\n rounded: z.boolean().optional().describe(\"Fully rounded pill shape\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A small status badge / label\");\n","import { z } from \"zod\";\n\nexport const tagSchema = z\n .object({\n type: z.literal(\"tag\"),\n props: z.object({\n label: z.string().describe(\"Tag text\"),\n variant: z\n .enum([\"primary\", \"secondary\", \"destructive\"])\n .optional()\n .describe(\"Tag color variant. Defaults to 'primary'\"),\n }),\n })\n .describe(\"A colored tag / pill\");\n","import { z } from \"zod\";\n\nexport const chipSchema = z\n .object({\n type: z.literal(\"chip\"),\n props: z.object({\n label: z.string().describe(\"Chip text\"),\n type: z\n .enum([\"rounded\", \"rectangle\"])\n .optional()\n .describe(\"Chip shape. Defaults to 'rounded'\"),\n color: z\n .enum([\n \"slate\", \"red\", \"orange\", \"amber\", \"yellow\", \"lime\", \"green\",\n \"emerald\", \"teal\", \"cyan\", \"sky\", \"blue\", \"indigo\", \"violet\",\n \"purple\", \"fuchsia\", \"pink\", \"rose\",\n ])\n .optional()\n .describe(\"Chip color. Defaults to 'slate'\"),\n dot: z.boolean().optional().describe(\"Show a colored dot indicator\"),\n avatar: z.string().optional().describe(\"Avatar image URL shown inside the chip\"),\n }),\n })\n .describe(\"A compact chip element with optional color dot or avatar\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const alertSchema = z\n .object({\n type: z.literal(\"alert\"),\n props: z\n .object({\n variant: z\n .enum([\"default\", \"secondary\", \"destructive\"])\n .optional()\n .describe(\"Alert style. Defaults to 'default'\"),\n title: z.string().optional().describe(\"Alert heading\"),\n description: z.string().optional().describe(\"Alert body text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"An alert / notice banner\");\n","import { z } from \"zod\";\n\nexport const skeletonSchema = z\n .object({\n type: z.literal(\"skeleton\"),\n props: z\n .object({\n className: z.string().optional().describe(\"Tailwind classes to control width/height, e.g. 'h-4 w-[250px]'\"),\n })\n .optional(),\n })\n .describe(\"A loading placeholder skeleton\");\n","import { z } from \"zod\";\n\nexport const progressIndicatorSchema = z\n .object({\n type: z.literal(\"progress-indicator\"),\n props: z.object({\n value: z.number().describe(\"Current progress value\"),\n max: z.number().optional().describe(\"Maximum value. Defaults to 100\"),\n showPercentage: z.boolean().optional().describe(\"Show percentage text. Defaults to true\"),\n variant: z\n .enum([\"bar\", \"circle\"])\n .optional()\n .describe(\"Display style. Defaults to 'bar'\"),\n }),\n })\n .describe(\"A progress bar or circular progress indicator\");\n","import { z } from \"zod\";\n\nexport const avatarSchema = z\n .object({\n type: z.literal(\"avatar\"),\n props: z.object({\n variant: z\n .enum([\"image\", \"text\", \"placeholder\"])\n .describe(\"Avatar display mode\"),\n fallback: z.string().describe(\"Fallback text (initials) when image is unavailable\"),\n imgsrc: z.string().optional().describe(\"Image URL (required when variant is 'image')\"),\n size: z\n .enum([\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\", \"3xl\", \"4xl\", \"5xl\"])\n .optional()\n .describe(\"Avatar size. Defaults to 'md'\"),\n status: z\n .enum([\"active\", \"inactive\"])\n .optional()\n .describe(\"Online status indicator\"),\n }),\n })\n .describe(\"A user avatar displaying an image, initials, or placeholder\");\n","import { z } from \"zod\";\n\nexport const avatarListItemSchema = z\n .object({\n type: z.literal(\"avatar-list-item\"),\n props: z.object({\n avatar: z.string().describe(\"Avatar image URL\"),\n name: z.string().describe(\"Display name\"),\n email: z.string().describe(\"Email address\"),\n isMe: z.boolean().optional().describe(\"Highlight as current user\"),\n }),\n })\n .describe(\"An avatar with name and email, typically used in lists\");\n","import { z } from \"zod\";\n\nexport const mediaSchema = z\n .object({\n type: z.literal(\"media\"),\n props: z.object({\n src: z.string().describe(\"Media source URL\"),\n alt: z.string().optional().describe(\"Alt text for images\"),\n type: z\n .enum([\"image\", \"video\"])\n .optional()\n .describe(\"Media type. Defaults to 'image'\"),\n aspectRatio: z\n .enum([\"1:1\", \"16:9\", \"9:16\", \"4:3\", \"3:4\"])\n .optional()\n .describe(\"Fixed aspect ratio\"),\n objectFit: z\n .enum([\"cover\", \"contain\", \"fill\", \"scale-down\", \"none\"])\n .optional()\n .describe(\"How the media fills its container. Defaults to 'cover'\"),\n rounded: z\n .enum([\"none\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\", \"full\"])\n .optional()\n .describe(\"Border radius\"),\n loading: z\n .enum([\"lazy\", \"eager\"])\n .optional()\n .describe(\"Loading strategy. Defaults to 'lazy'\"),\n }),\n })\n .describe(\"An image or video media element\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const gridSchema = z\n .object({\n type: z.literal(\"grid\"),\n props: z\n .object({\n className: z\n .string()\n .optional()\n .describe(\"Tailwind grid classes, e.g. 'grid-cols-2 gap-4'\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional().describe(\"Grid items\"),\n })\n .describe(\"A CSS grid layout container\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const accordionSchema = z\n .object({\n type: z.literal(\"accordion\"),\n props: z\n .object({\n type: z\n .enum([\"single\", \"multiple\"])\n .optional()\n .describe(\"Allow one or multiple items open. Defaults to 'single'\"),\n collapsible: z.boolean().optional().describe(\"Allow collapsing all items\"),\n defaultValue: z\n .union([z.string(), z.array(z.string())])\n .optional()\n .describe(\"Initially open item value(s)\"),\n })\n .optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Compose with accordion-item children\"),\n })\n .describe(\"A collapsible accordion container\");\n\nexport const accordionItemSchema = z\n .object({\n type: z.literal(\"accordion-item\"),\n props: z.object({\n value: z.string().describe(\"Unique item identifier\"),\n }),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Place accordion-trigger and accordion-content inside\"),\n })\n .describe(\"A single accordion section\");\n\nexport const accordionTriggerSchema = z\n .object({\n type: z.literal(\"accordion-trigger\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Trigger label text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"Clickable header that toggles an accordion-item\");\n\nexport const accordionContentSchema = z\n .object({\n type: z.literal(\"accordion-content\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Content revealed when the item is open\"),\n })\n .describe(\"Collapsible content area of an accordion-item\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const tabsSchema = z\n .object({\n type: z.literal(\"tabs\"),\n props: z.object({\n defaultActiveTab: z.string().describe(\"Value of the initially active tab\"),\n tabs: z\n .array(\n z.object({\n value: z.string().describe(\"Unique tab identifier\"),\n label: z.string().describe(\"Tab label text\"),\n count: z.number().optional().describe(\"Badge count on the tab\"),\n notification: z.boolean().optional().describe(\"Show notification dot\"),\n }),\n )\n .describe(\"Tab definitions\"),\n tabSmall: z.boolean().optional().describe(\"Use compact tab styling\"),\n showContent: z\n .boolean()\n .optional()\n .describe(\"Show tab content panels. Defaults to true\"),\n }),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Tab content panels (one per tab, in order)\"),\n })\n .describe(\"A tabbed interface with switchable content panels\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const wrapperCardSchema = z\n .object({\n type: z.literal(\"wrapper-card\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Card body content\"),\n })\n .describe(\"A simple card wrapper with default padding and border\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const gradientContainerSchema = z\n .object({\n type: z.literal(\"gradient-container\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Content inside the gradient container\"),\n })\n .describe(\"A container with a gradient background\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const carouselSchema = z\n .object({\n type: z.literal(\"carousel\"),\n props: z\n .object({\n orientation: z\n .enum([\"horizontal\", \"vertical\"])\n .optional()\n .describe(\"Scroll direction. Defaults to 'horizontal'\"),\n })\n .optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Place a carousel-content inside\"),\n })\n .describe(\"A scrollable carousel container\");\n\nexport const carouselContentSchema = z\n .object({\n type: z.literal(\"carousel-content\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Compose with carousel-item children\"),\n })\n .describe(\"Content track of a carousel\");\n\nexport const carouselItemSchema = z\n .object({\n type: z.literal(\"carousel-item\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Content for this slide\"),\n })\n .describe(\"A single slide inside a carousel\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const toggleSchema = z\n .object({\n type: z.literal(\"toggle\"),\n props: z\n .object({\n active: z.boolean().optional().describe(\"Whether the toggle is pressed\"),\n shape: z\n .enum([\"rectangle\", \"rounded\"])\n .optional()\n .describe(\"Toggle shape. Defaults to 'rectangle'\"),\n style: z\n .enum([\"ghost\", \"outline\", \"soft\"])\n .optional()\n .describe(\"Visual style. Defaults to 'soft'\"),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional().describe(\"Toggle size. Defaults to 'sm'\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional().describe(\"Toggle label / content\"),\n })\n .describe(\"A pressable toggle button\");\n","import { z } from \"zod\";\n\nexport const sliderSchema = z\n .object({\n type: z.literal(\"slider\"),\n props: z\n .object({\n defaultValue: z\n .union([z.number(), z.array(z.number())])\n .optional()\n .describe(\"Initial value or range [min, max]\"),\n min: z.number().optional().describe(\"Minimum value. Defaults to 0\"),\n max: z.number().optional().describe(\"Maximum value. Defaults to 100\"),\n step: z.number().optional().describe(\"Step increment\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n })\n .describe(\"A range slider input\");\n","import { z } from \"zod\";\n\nexport const searchInputSchema = z\n .object({\n type: z.literal(\"search-input\"),\n props: z.object({\n searchKey: z.string().describe(\"URL query param key for the search value\"),\n placeholder: z\n .string()\n .optional()\n .describe(\"Placeholder text. Defaults to 'Search by...'\"),\n debounceDelay: z\n .number()\n .optional()\n .describe(\"Debounce delay in ms. Defaults to 500\"),\n variant: z\n .enum([\"ghost\", \"outline\"])\n .optional()\n .describe(\"Input style variant\"),\n disabled: z.boolean().optional(),\n }),\n })\n .describe(\"A search input with debounced query param binding\");\n","import { z } from \"zod\";\n\nexport const iconButtonSchema = z\n .object({\n type: z.literal(\"icon-button\"),\n props: z.object({\n icon: z.string().describe(\"Icon name (resolved by the renderer)\"),\n variant: z\n .enum([\n \"primary\", \"secondary\", \"destructive\", \"outline\",\n \"ghost\", \"soft\", \"ai-filled\", \"ai-outline\", \"glass\",\n ])\n .optional()\n .describe(\"Button style. Defaults to 'primary'\"),\n size: z\n .enum([\"xs\", \"sm\", \"md\", \"lg\"])\n .optional()\n .describe(\"Button size. Defaults to 'sm'\"),\n active: z.boolean().optional().describe(\"Active / pressed state\"),\n rounded: z.boolean().optional().describe(\"Fully round button\"),\n disabled: z.boolean().optional(),\n }),\n })\n .describe(\"An icon-only action button\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const linkButtonSchema = z\n .object({\n type: z.literal(\"link-button\"),\n props: z.object({\n href: z.string().describe(\"Link URL\"),\n children: z.string().optional().describe(\"Link text\"),\n }),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A button styled as a navigation link\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const buttonLinkSchema = z\n .object({\n type: z.literal(\"button-link\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Link text\"),\n variant: z\n .enum([\"link\", \"text-link\", \"error\"])\n .optional()\n .describe(\"Link style. Defaults to 'link'\"),\n href: z.string().optional().describe(\"Link URL\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"An inline text link styled as a button\");\n","import { z } from \"zod\";\n\nexport const selectHoverSchema = z\n .object({\n type: z.literal(\"select-hover\"),\n props: z.object({\n options: z\n .array(\n z.object({\n label: z.string().describe(\"Display text\"),\n value: z.string().describe(\"Option value\"),\n }),\n )\n .describe(\"Array of selectable options\"),\n placeholder: z\n .string()\n .optional()\n .describe(\"Placeholder text. Defaults to 'Select an option'\"),\n value: z.string().optional().describe(\"Currently selected value\"),\n }),\n })\n .describe(\"A hover-activated select dropdown\");\n","import { z } from \"zod\";\n\nexport const breadcrumbSchema = z\n .object({\n type: z.literal(\"breadcrumb\"),\n props: z.object({\n items: z\n .array(\n z.object({\n label: z.string().describe(\"Breadcrumb text\"),\n href: z.string().optional().describe(\"Navigation URL\"),\n disabled: z.boolean().optional(),\n }),\n )\n .describe(\"Ordered list of breadcrumb segments\"),\n }),\n })\n .describe(\"A breadcrumb navigation trail\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const tooltipSchema = z\n .object({\n type: z.literal(\"tooltip\"),\n props: z.object({\n content: z.string().describe(\"Tooltip text\"),\n position: z\n .enum([\n \"top\", \"top-center\", \"top-left\", \"top-right\",\n \"bottom\", \"bottom-left\", \"bottom-center\", \"bottom-right\",\n \"left\", \"right\",\n ])\n .optional()\n .describe(\"Tooltip placement\"),\n withArrow: z.boolean().optional().describe(\"Show an arrow pointer\"),\n }),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"The trigger element the tooltip wraps\"),\n })\n .describe(\"A tooltip that appears on hover over its child element\");\n","import { z } from \"zod\";\n\nexport const tableSchema = z\n .object({\n type: z.literal(\"table\"),\n props: z.object({\n columns: z\n .array(\n z.object({\n accessorKey: z.string().describe(\"Key in the row data object\"),\n header: z.string().describe(\"Column header text\"),\n }),\n )\n .describe(\"Column definitions\"),\n tableData: z\n .array(z.record(z.unknown()))\n .describe(\"Array of row data objects\"),\n }),\n })\n .describe(\"A data table with columns and rows\");\n","import { z } from \"zod\";\n\nexport const calendarSchema = z\n .object({\n type: z.literal(\"calendar\"),\n props: z\n .object({\n showOutsideDays: z.boolean().optional().describe(\"Show days from adjacent months. Defaults to true\"),\n captionLayout: z\n .enum([\"label\", \"dropdown\", \"dropdown-months\", \"dropdown-years\"])\n .optional()\n .describe(\"Caption display mode. Defaults to 'label'\"),\n buttonVariant: z\n .enum([\"primary\", \"secondary\", \"outline\", \"destructive\", \"ghost\", \"soft\"])\n .optional()\n .describe(\"Navigation button style. Defaults to 'ghost'\"),\n mode: z\n .enum([\"single\", \"multiple\", \"range\"])\n .optional()\n .describe(\"Selection mode\"),\n numberOfMonths: z.number().optional().describe(\"Number of months to display\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n })\n .describe(\"A date calendar for picking dates or date ranges\");\n","import { z } from \"zod\";\n\nexport const fileInputSchema = z\n .object({\n type: z.literal(\"file-input\"),\n props: z\n .object({\n label: z.string().optional().describe(\"Label text above the input\"),\n helperText: z.string().optional().describe(\"Helper text below the input\"),\n error: z.boolean().optional().describe(\"Show error styling. Defaults to false\"),\n accept: z.string().optional().describe(\"Accepted file types, e.g. 'image/*,.pdf'\"),\n multiple: z.boolean().optional().describe(\"Allow multiple files. Defaults to false\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n })\n .describe(\"A file input with choose-file button and upload progress\");\n","import { z } from \"zod\";\n\nexport const toolToggleSchema = z\n .object({\n type: z.literal(\"tool-toggle\"),\n props: z\n .object({\n icon: z.string().optional().describe(\"Icon name (resolved by the renderer)\"),\n dropdown: z.boolean().optional().describe(\"Show dropdown chevron\"),\n })\n .optional(),\n })\n .describe(\"A round toggle button used in toolbars, optionally with a dropdown\");\n","import { z } from \"zod\";\n\nexport const toggleDropdownButtonSchema = z\n .object({\n type: z.literal(\"toggle-dropdown-button\"),\n props: z.object({\n type: z.enum([\"text\", \"icon\"]).describe(\"Button content type\"),\n selected: z.boolean().describe(\"Whether the button is selected\"),\n variant: z\n .enum([\"primary\", \"secondary\", \"destructive\"])\n .describe(\"Button color variant\"),\n }),\n })\n .describe(\"A split toggle button with an attached dropdown trigger\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const iconContainerSchema = z\n .object({\n type: z.literal(\"icon-container\"),\n props: z\n .object({\n icon: z.string().optional().describe(\"Icon name (resolved by the renderer)\"),\n size: z\n .enum([\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\", \"3xl\", \"4xl\", \"5xl\", \"6xl\", \"auto\"])\n .optional()\n .describe(\"Icon size. Defaults to 'sm'\"),\n colorInFill: z.boolean().optional().describe(\"Apply fill colors to SVG paths. Defaults to true\"),\n disableTheme: z.boolean().optional().describe(\"Disable theme-aware coloring. Defaults to false\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional().describe(\"Icon element\"),\n })\n .describe(\"A sized container for static icons with theme-aware coloring\");\n","import { z } from \"zod\";\n\nexport const iconProfileSchema = z\n .object({\n type: z.literal(\"icon-profile\"),\n props: z.object({\n icon: z.string().describe(\"Icon name (resolved by the renderer)\"),\n color: z\n .enum([\n \"red\", \"orange\", \"amber\", \"yellow\", \"lime\", \"green\", \"emerald\",\n \"teal\", \"cyan\", \"sky\", \"blue\", \"indigo\", \"violet\", \"purple\",\n \"fuchsia\", \"pink\", \"rose\", \"slate\",\n ])\n .optional()\n .describe(\"Background glow and icon color. Defaults to 'red'\"),\n size: z\n .enum([\"26\", \"32\", \"40\", \"48\", \"56\", \"64\"])\n .optional()\n .describe(\"Size in pixels. Defaults to '64'\"),\n externalIcon: z.boolean().optional().describe(\"Whether the icon is external\"),\n }),\n })\n .describe(\"An icon with a colored radial glow background\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const buttonWithTooltipSchema = z\n .object({\n type: z.literal(\"button-with-tooltip\"),\n props: z.object({\n content: z.string().describe(\"Tooltip text\"),\n position: z\n .enum([\n \"top\", \"top-center\", \"top-left\", \"top-right\",\n \"bottom\", \"bottom-left\", \"bottom-center\", \"bottom-right\",\n \"left\", \"right\",\n ])\n .optional()\n .describe(\"Tooltip placement\"),\n withArrow: z.boolean().optional().describe(\"Show an arrow pointer\"),\n }),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"The button element to wrap with a tooltip\"),\n })\n .describe(\"A button wrapped with a tooltip that appears on hover\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const sheetSchema = z\n .object({\n type: z.literal(\"sheet\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Compose with sheet-trigger and sheet-content\"),\n })\n .describe(\"A slide-out panel overlay\");\n\nexport const sheetTriggerSchema = z\n .object({\n type: z.literal(\"sheet-trigger\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"The element that opens the sheet\"),\n })\n .describe(\"Trigger element that opens a sheet\");\n\nexport const sheetContentSchema = z\n .object({\n type: z.literal(\"sheet-content\"),\n props: z\n .object({\n side: z\n .enum([\"top\", \"right\", \"bottom\", \"left\"])\n .optional()\n .describe(\"Slide-in direction. Defaults to 'right'\"),\n showCloseButton: z.boolean().optional().describe(\"Show close button. Defaults to true\"),\n })\n .optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Sheet body content\"),\n })\n .describe(\"Content panel of a sheet\");\n\nexport const sheetHeaderSchema = z\n .object({\n type: z.literal(\"sheet-header\"),\n props: z.object({}).optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"Header section of a sheet\");\n\nexport const sheetFooterSchema = z\n .object({\n type: z.literal(\"sheet-footer\"),\n props: z.object({}).optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"Footer section of a sheet\");\n\nexport const sheetTitleSchema = z\n .object({\n type: z.literal(\"sheet-title\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Title text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"Title inside a sheet-header\");\n\nexport const sheetDescriptionSchema = z\n .object({\n type: z.literal(\"sheet-description\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Description text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"Description text inside a sheet-header\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const dropdownMenuSchema = z\n .object({\n type: z.literal(\"dropdown-menu\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Compose with dropdown-menu-trigger and dropdown-menu-content\"),\n })\n .describe(\"A dropdown menu container\");\n\nexport const dropdownMenuTriggerSchema = z\n .object({\n type: z.literal(\"dropdown-menu-trigger\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"The element that opens the dropdown\"),\n })\n .describe(\"Trigger element that opens a dropdown menu\");\n\nexport const dropdownMenuContentSchema = z\n .object({\n type: z.literal(\"dropdown-menu-content\"),\n props: z\n .object({\n side: z.enum([\"top\", \"right\", \"bottom\", \"left\"]).optional(),\n align: z.enum([\"start\", \"center\", \"end\"]).optional(),\n })\n .optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Menu items\"),\n })\n .describe(\"Content panel of a dropdown menu\");\n\nexport const dropdownMenuItemSchema = z\n .object({\n type: z.literal(\"dropdown-menu-item\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Menu item text\"),\n variant: z\n .enum([\"default\", \"destructive\"])\n .optional()\n .describe(\"Item style. Defaults to 'default'\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A single item inside a dropdown menu\");\n\nexport const dropdownMenuSeparatorSchema = z\n .object({\n type: z.literal(\"dropdown-menu-separator\"),\n props: z.object({}).optional(),\n })\n .describe(\"A visual separator between dropdown menu items\");\n\nexport const dropdownMenuLabelSchema = z\n .object({\n type: z.literal(\"dropdown-menu-label\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Label text\"),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A non-interactive label inside a dropdown menu\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const popoverSchema = z\n .object({\n type: z.literal(\"popover\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Compose with popover-trigger and popover-content\"),\n })\n .describe(\"A popover overlay container\");\n\nexport const popoverTriggerSchema = z\n .object({\n type: z.literal(\"popover-trigger\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"The element that opens the popover\"),\n })\n .describe(\"Trigger element that opens a popover\");\n\nexport const popoverContentSchema = z\n .object({\n type: z.literal(\"popover-content\"),\n props: z\n .object({\n align: z\n .enum([\"start\", \"center\", \"end\"])\n .optional()\n .describe(\"Alignment relative to trigger. Defaults to 'center'\"),\n sideOffset: z.number().optional().describe(\"Offset from trigger in px. Defaults to 4\"),\n })\n .optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Popover body content\"),\n })\n .describe(\"Content panel of a popover\");\n","import { z } from \"zod\";\nimport { uiNodeSchema } from \"../../types\";\n\nexport const contextMenuSchema = z\n .object({\n type: z.literal(\"context-menu\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Compose with context-menu-trigger and context-menu-content\"),\n })\n .describe(\"A right-click context menu container\");\n\nexport const contextMenuTriggerSchema = z\n .object({\n type: z.literal(\"context-menu-trigger\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"The element that triggers the context menu on right-click\"),\n })\n .describe(\"Trigger area for a context menu\");\n\nexport const contextMenuContentSchema = z\n .object({\n type: z.literal(\"context-menu-content\"),\n props: z.object({}).optional(),\n children: z\n .array(uiNodeSchema)\n .optional()\n .describe(\"Menu items\"),\n })\n .describe(\"Content panel of a context menu\");\n\nexport const contextMenuItemSchema = z\n .object({\n type: z.literal(\"context-menu-item\"),\n props: z\n .object({\n children: z.string().optional().describe(\"Menu item text\"),\n variant: z\n .enum([\"default\", \"destructive\"])\n .optional()\n .describe(\"Item style. Defaults to 'default'\"),\n disabled: z.boolean().optional(),\n })\n .optional(),\n children: z.array(uiNodeSchema).optional(),\n })\n .describe(\"A single item inside a context menu\");\n\nexport const contextMenuSeparatorSchema = z\n .object({\n type: z.literal(\"context-menu-separator\"),\n props: z.object({}).optional(),\n })\n .describe(\"A visual separator between context menu items\");\n","import type { ComponentSchema } from \"./types\";\nimport schemaJson from \"../schema/component-schema.json\";\n\nexport const componentSchema: ComponentSchema = schemaJson as ComponentSchema;\n\nexport function getComponentSchemas() {\n return componentSchema.components;\n}\n\nexport type { ComponentSchema, UINode } from \"./types\";\nexport { uiNodeSchema } from \"./types\";\n\n// Button\nexport { buttonSchema, toolButtonSchema } from \"./ui/Button/schema\";\n\n// Card\nexport {\n cardSchema,\n cardHeaderSchema,\n cardTitleSchema,\n cardDescriptionSchema,\n cardContentSchema,\n cardFooterSchema,\n cardActionSchema,\n} from \"./ui/Card/schema\";\n\n// Form\nexport { formSchema } from \"./ui/form/schema\";\nexport { inputFieldSchema } from \"./ui/Input/schema\";\nexport { passwordFieldSchema } from \"./ui/PasswordInput/schema\";\nexport { textareaFieldSchema } from \"./ui/TextAreaInput/schema\";\nexport { selectFieldSchema } from \"./ui/SelectInput/schema\";\nexport { checkboxFieldSchema } from \"./ui/Checkbox/schema\";\nexport { radioFieldSchema } from \"./ui/Radio/schema\";\nexport { switchFieldSchema } from \"./ui/Switch/schema\";\nexport { dateFieldSchema } from \"./ui/DatePickerInput/schema\";\nexport { timeFieldSchema } from \"./ui/TimePicker/schema\";\nexport { comboboxFieldSchema } from \"./ui/Combobox/schema\";\nexport { multiSelectFieldSchema } from \"./ui/MultiSelect/schema\";\nexport { otpFieldSchema } from \"./ui/OTPInput/schema\";\nexport { fileUploadFieldSchema } from \"./ui/FileUpload/schema\";\n\n// Text\nexport { textSchema } from \"./ui/Text/schema\";\nexport { titleSchema } from \"./ui/Title/schema\";\nexport { labelSchema } from \"./ui/Label/schema\";\n\n// Display\nexport { badgeSchema } from \"./ui/Badge/schema\";\nexport { tagSchema } from \"./ui/Tag/schema\";\nexport { chipSchema } from \"./ui/Chip/schema\";\nexport { alertSchema } from \"./ui/Alert/schema\";\nexport { skeletonSchema } from \"./ui/Skeleton/schema\";\nexport { progressIndicatorSchema } from \"./ui/ProgressIndicator/schema\";\n\n// Media\nexport { avatarSchema } from \"./ui/Avatar/schema\";\nexport { avatarListItemSchema } from \"./ui/AvatarListItem/schema\";\nexport { mediaSchema } from \"./ui/Media/schema\";\n\n// Layout\nexport { gridSchema } from \"./ui/Grid/schema\";\nexport {\n accordionSchema,\n accordionItemSchema,\n accordionTriggerSchema,\n accordionContentSchema,\n} from \"./ui/Accordion/schema\";\nexport { tabsSchema } from \"./ui/Tabs/schema\";\nexport { wrapperCardSchema } from \"./ui/WrapperCard/schema\";\nexport { gradientContainerSchema } from \"./ui/GradientContainer/schema\";\nexport {\n carouselSchema,\n carouselContentSchema,\n carouselItemSchema,\n} from \"./ui/Carousel/schema\";\n\n// Interactive\nexport { toggleSchema } from \"./ui/Toggle/schema\";\nexport { sliderSchema } from \"./ui/Slider/schema\";\nexport { searchInputSchema } from \"./ui/SearchInput/schema\";\nexport { iconButtonSchema } from \"./ui/IconButton/schema\";\nexport { linkButtonSchema } from \"./ui/LinkButton/schema\";\nexport { buttonLinkSchema } from \"./ui/ButtonLink/schema\";\nexport { selectHoverSchema } from \"./ui/SelectHover/schema\";\n\n// Navigation\nexport { breadcrumbSchema } from \"./ui/Breadcrumb/schema\";\nexport { tooltipSchema } from \"./ui/Tooltip/schema\";\n\n// Data\nexport { tableSchema } from \"./ui/Table/schema\";\n\n// Misc\nexport { calendarSchema } from \"./ui/Calendar/schema\";\nexport { fileInputSchema } from \"./ui/FileInput/schema\";\nexport { toolToggleSchema } from \"./ui/ToolToggle/schema\";\nexport { toggleDropdownButtonSchema } from \"./ui/ToggleDropdownButton/schema\";\nexport { iconContainerSchema } from \"./ui/IconContainer/schema\";\nexport { iconProfileSchema } from \"./ui/IconProfile/schema\";\nexport { buttonWithTooltipSchema } from \"./ui/ButtonWithTooltip/schema\";\n\n// Overlay\nexport {\n sheetSchema,\n sheetTriggerSchema,\n sheetContentSchema,\n sheetHeaderSchema,\n sheetFooterSchema,\n sheetTitleSchema,\n sheetDescriptionSchema,\n} from \"./ui/Sheet/schema\";\nexport {\n dropdownMenuSchema,\n dropdownMenuTriggerSchema,\n dropdownMenuContentSchema,\n dropdownMenuItemSchema,\n dropdownMenuSeparatorSchema,\n dropdownMenuLabelSchema,\n} from \"./ui/Dropdown/schema\";\nexport {\n popoverSchema,\n popoverTriggerSchema,\n popoverContentSchema,\n} from \"./ui/Popover/schema\";\nexport {\n contextMenuSchema,\n contextMenuTriggerSchema,\n contextMenuContentSchema,\n contextMenuItemSchema,\n contextMenuSeparatorSchema,\n} from \"./ui/ContextMenu/schema\";\n\n// --- componentSchemas map (used by generator) ---\n\nimport { buttonSchema, toolButtonSchema } from \"./ui/Button/schema\";\nimport {\n cardSchema, cardHeaderSchema, cardTitleSchema, cardDescriptionSchema,\n cardContentSchema, cardFooterSchema, cardActionSchema,\n} from \"./ui/Card/schema\";\nimport { formSchema } from \"./ui/form/schema\";\nimport { inputFieldSchema } from \"./ui/Input/schema\";\nimport { passwordFieldSchema } from \"./ui/PasswordInput/schema\";\nimport { textareaFieldSchema } from \"./ui/TextAreaInput/schema\";\nimport { selectFieldSchema } from \"./ui/SelectInput/schema\";\nimport { checkboxFieldSchema } from \"./ui/Checkbox/schema\";\nimport { radioFieldSchema } from \"./ui/Radio/schema\";\nimport { switchFieldSchema } from \"./ui/Switch/schema\";\nimport { dateFieldSchema } from \"./ui/DatePickerInput/schema\";\nimport { timeFieldSchema } from \"./ui/TimePicker/schema\";\nimport { comboboxFieldSchema } from \"./ui/Combobox/schema\";\nimport { multiSelectFieldSchema } from \"./ui/MultiSelect/schema\";\nimport { otpFieldSchema } from \"./ui/OTPInput/schema\";\nimport { fileUploadFieldSchema } from \"./ui/FileUpload/schema\";\nimport { textSchema } from \"./ui/Text/schema\";\nimport { titleSchema } from \"./ui/Title/schema\";\nimport { labelSchema } from \"./ui/Label/schema\";\nimport { badgeSchema } from \"./ui/Badge/schema\";\nimport { tagSchema } from \"./ui/Tag/schema\";\nimport { chipSchema } from \"./ui/Chip/schema\";\nimport { alertSchema } from \"./ui/Alert/schema\";\nimport { skeletonSchema } from \"./ui/Skeleton/schema\";\nimport { progressIndicatorSchema } from \"./ui/ProgressIndicator/schema\";\nimport { avatarSchema } from \"./ui/Avatar/schema\";\nimport { avatarListItemSchema } from \"./ui/AvatarListItem/schema\";\nimport { mediaSchema } from \"./ui/Media/schema\";\nimport { gridSchema } from \"./ui/Grid/schema\";\nimport {\n accordionSchema, accordionItemSchema, accordionTriggerSchema, accordionContentSchema,\n} from \"./ui/Accordion/schema\";\nimport { tabsSchema } from \"./ui/Tabs/schema\";\nimport { wrapperCardSchema } from \"./ui/WrapperCard/schema\";\nimport { gradientContainerSchema } from \"./ui/GradientContainer/schema\";\nimport { carouselSchema, carouselContentSchema, carouselItemSchema } from \"./ui/Carousel/schema\";\nimport { toggleSchema } from \"./ui/Toggle/schema\";\nimport { sliderSchema } from \"./ui/Slider/schema\";\nimport { searchInputSchema } from \"./ui/SearchInput/schema\";\nimport { iconButtonSchema } from \"./ui/IconButton/schema\";\nimport { linkButtonSchema } from \"./ui/LinkButton/schema\";\nimport { buttonLinkSchema } from \"./ui/ButtonLink/schema\";\nimport { selectHoverSchema } from \"./ui/SelectHover/schema\";\nimport { breadcrumbSchema } from \"./ui/Breadcrumb/schema\";\nimport { tooltipSchema } from \"./ui/Tooltip/schema\";\nimport { tableSchema } from \"./ui/Table/schema\";\nimport { calendarSchema } from \"./ui/Calendar/schema\";\nimport { fileInputSchema } from \"./ui/FileInput/schema\";\nimport { toolToggleSchema } from \"./ui/ToolToggle/schema\";\nimport { toggleDropdownButtonSchema } from \"./ui/ToggleDropdownButton/schema\";\nimport { iconContainerSchema } from \"./ui/IconContainer/schema\";\nimport { iconProfileSchema } from \"./ui/IconProfile/schema\";\nimport { buttonWithTooltipSchema } from \"./ui/ButtonWithTooltip/schema\";\nimport {\n sheetSchema, sheetTriggerSchema, sheetContentSchema,\n sheetHeaderSchema, sheetFooterSchema, sheetTitleSchema, sheetDescriptionSchema,\n} from \"./ui/Sheet/schema\";\nimport {\n dropdownMenuSchema, dropdownMenuTriggerSchema, dropdownMenuContentSchema,\n dropdownMenuItemSchema, dropdownMenuSeparatorSchema, dropdownMenuLabelSchema,\n} from \"./ui/Dropdown/schema\";\nimport { popoverSchema, popoverTriggerSchema, popoverContentSchema } from \"./ui/Popover/schema\";\nimport {\n contextMenuSchema, contextMenuTriggerSchema, contextMenuContentSchema,\n contextMenuItemSchema, contextMenuSeparatorSchema,\n} from \"./ui/ContextMenu/schema\";\n\nexport const componentSchemas = {\n button: buttonSchema,\n \"tool-button\": toolButtonSchema,\n card: cardSchema,\n \"card-header\": cardHeaderSchema,\n \"card-title\": cardTitleSchema,\n \"card-description\": cardDescriptionSchema,\n \"card-content\": cardContentSchema,\n \"card-footer\": cardFooterSchema,\n \"card-action\": cardActionSchema,\n form: formSchema,\n \"input-field\": inputFieldSchema,\n \"password-field\": passwordFieldSchema,\n \"textarea-field\": textareaFieldSchema,\n \"select-field\": selectFieldSchema,\n \"checkbox-field\": checkboxFieldSchema,\n \"radio-field\": radioFieldSchema,\n \"switch-field\": switchFieldSchema,\n \"date-field\": dateFieldSchema,\n \"time-field\": timeFieldSchema,\n \"combobox-field\": comboboxFieldSchema,\n \"multi-select-field\": multiSelectFieldSchema,\n \"otp-field\": otpFieldSchema,\n \"file-upload-field\": fileUploadFieldSchema,\n text: textSchema,\n title: titleSchema,\n label: labelSchema,\n badge: badgeSchema,\n tag: tagSchema,\n chip: chipSchema,\n alert: alertSchema,\n skeleton: skeletonSchema,\n \"progress-indicator\": progressIndicatorSchema,\n avatar: avatarSchema,\n \"avatar-list-item\": avatarListItemSchema,\n media: mediaSchema,\n grid: gridSchema,\n accordion: accordionSchema,\n \"accordion-item\": accordionItemSchema,\n \"accordion-trigger\": accordionTriggerSchema,\n \"accordion-content\": accordionContentSchema,\n tabs: tabsSchema,\n \"wrapper-card\": wrapperCardSchema,\n \"gradient-container\": gradientContainerSchema,\n carousel: carouselSchema,\n \"carousel-content\": carouselContentSchema,\n \"carousel-item\": carouselItemSchema,\n toggle: toggleSchema,\n slider: sliderSchema,\n \"search-input\": searchInputSchema,\n \"icon-button\": iconButtonSchema,\n \"link-button\": linkButtonSchema,\n \"button-link\": buttonLinkSchema,\n \"select-hover\": selectHoverSchema,\n breadcrumb: breadcrumbSchema,\n tooltip: tooltipSchema,\n table: tableSchema,\n calendar: calendarSchema,\n \"file-input\": fileInputSchema,\n \"tool-toggle\": toolToggleSchema,\n \"toggle-dropdown-button\": toggleDropdownButtonSchema,\n \"icon-container\": iconContainerSchema,\n \"icon-profile\": iconProfileSchema,\n \"button-with-tooltip\": buttonWithTooltipSchema,\n sheet: sheetSchema,\n \"sheet-trigger\": sheetTriggerSchema,\n \"sheet-content\": sheetContentSchema,\n \"sheet-header\": sheetHeaderSchema,\n \"sheet-footer\": sheetFooterSchema,\n \"sheet-title\": sheetTitleSchema,\n \"sheet-description\": sheetDescriptionSchema,\n \"dropdown-menu\": dropdownMenuSchema,\n \"dropdown-menu-trigger\": dropdownMenuTriggerSchema,\n \"dropdown-menu-content\": dropdownMenuContentSchema,\n \"dropdown-menu-item\": dropdownMenuItemSchema,\n \"dropdown-menu-separator\": dropdownMenuSeparatorSchema,\n \"dropdown-menu-label\": dropdownMenuLabelSchema,\n popover: popoverSchema,\n \"popover-trigger\": popoverTriggerSchema,\n \"popover-content\": popoverContentSchema,\n \"context-menu\": contextMenuSchema,\n \"context-menu-trigger\": contextMenuTriggerSchema,\n \"context-menu-content\": contextMenuContentSchema,\n \"context-menu-item\": contextMenuItemSchema,\n \"context-menu-separator\": contextMenuSeparatorSchema,\n} as const;\n","import * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n isHidden,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger> & {\n isHidden?: boolean;\n}) {\n const sidebarOpenClass = cn(\"hidden opacity-0 transition-opacity\", {\n \"flex opacity-100\": !isHidden,\n });\n\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between rounded-md py-4 text-left text-sm font-medium transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n !isHidden && \"gap-4\",\n )}\n {...props}\n >\n {children}\n\n <ChevronDownIcon\n className={cn(\n \"pointer-events-none size-4 shrink-0 translate-y-0.5 text-inherit transition-transform duration-200\",\n sidebarOpenClass,\n )}\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function getInitials(name: string) {\n if (!name) return \"\";\n const nameParts = name?.split(\" \");\n if (nameParts?.length === 1) {\n return nameParts[0][0];\n }\n return nameParts[0][0] + nameParts[nameParts.length - 1][0];\n}\n\nexport function getFirstName(name: string) {\n if (!name) return \"\";\n const nameParts = name?.split(\" \");\n return nameParts[0];\n}\n\nexport function truncateFileNameMid(name: string, maxLength = 28) {\n const dotIndex = name.lastIndexOf(\".\");\n if (dotIndex === -1 || name.length <= maxLength) return name;\n const ext = name.slice(dotIndex);\n const base = name.slice(0, dotIndex);\n const keep = maxLength - ext.length - 3;\n if (keep <= 0) return `...${ext}`;\n const startLen = Math.ceil(keep / 2);\n const endLen = Math.floor(keep / 2);\n return `${base.slice(0, startLen)}...${base.slice(-endLen)}${ext}`;\n}\n\nexport function getFileSize(size: number) {\n if (size < 1024) return `${size} B`;\n if (size < 1024 * 1024) return `${(size / 1024).toFixed(2)} KB`;\n if (size < 1024 * 1024 * 1024) return `${(size / 1024 / 1024).toFixed(2)} MB`;\n return `${(size / 1024 / 1024 / 1024).toFixed(2)} GB`;\n}\n\nexport function getPaginationItems(currentPage: number, totalPages: number, maxLength: number) {\n const res: Array<number> = [];\n if (totalPages <= maxLength) {\n for (let i = 1; i <= totalPages; i++) res.push(i);\n return res;\n }\n res.push(1);\n let start = Math.max(currentPage - Math.floor(maxLength / 2), 2);\n let end = Math.min(start + maxLength - 2, totalPages - 1);\n if (end - start < maxLength - 2) start = Math.max(end - maxLength + 2, 2);\n if (start > 2) res.push(-1);\n for (let i = start; i <= end; i++) res.push(i);\n if (end < totalPages - 1) res.push(-1);\n res.push(totalPages);\n return res;\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg p-3 grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n secondary: \"bg-noticeBox-bg-secondary\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\ninterface AlertProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof alertVariants> {\n title?: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nfunction Alert({\n className,\n variant,\n title,\n description,\n icon,\n ...props\n}: AlertProps) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className, \"\")}\n {...props}\n >\n {icon}\n <div className=\"flex flex-col items-start gap-1\">\n {title && <BaseAlertTitle>{title}</BaseAlertTitle>}\n {description && (\n <BaseAlertDescription>{description}</BaseAlertDescription>\n )}\n </div>\n </div>\n );\n}\n\nfunction BaseAlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"leading-title-sm tracking-0 text-title-sm col-start-2 line-clamp-1 min-h-4 font-bold\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseAlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-element-inverse-default tracking-0 leading-caption text-body-sm col-start-2 grid justify-items-start gap-1 font-medium [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, BaseAlertDescription, BaseAlertTitle };\n","import * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { cva } from \"class-variance-authority\";\nimport { Tooltip, type PositionProps } from \"@/ui/Tooltip\";\n\n// Types\ntype StatusSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\ntype AvatarSize =\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"5xl\";\ntype Status = \"active\" | \"inactive\";\n\n// Constants\nconst STATUS_SIZE = {\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n xl: \"xl\",\n \"2xl\": \"2xl\",\n} as const;\n\nconst AVATAR_SIZE_MAPPER = {\n xs: {\n className: \"size-5 !text-caption !font-semibold\",\n statusSize: STATUS_SIZE.sm,\n },\n sm: {\n className: \"size-6 !text-caption !font-semibold\",\n statusSize: STATUS_SIZE.sm,\n },\n md: {\n className: \"size-7 !text-caption !font-semibold\",\n statusSize: STATUS_SIZE.sm,\n },\n lg: {\n className: \"size-8 !text-title-sm !font-bold\",\n statusSize: STATUS_SIZE.md,\n },\n xl: {\n className: \"size-9 !text-title-sm !font-bold\",\n statusSize: STATUS_SIZE.md,\n },\n \"2xl\": {\n className: \"size-10 !text-title-lg !font-bold\",\n statusSize: STATUS_SIZE.md,\n },\n \"3xl\": {\n className: \"size-16 !text-h5 !font-bold\",\n statusSize: STATUS_SIZE.lg,\n },\n \"4xl\": {\n className: \"size-20 !text-h3 !font-bold\",\n statusSize: STATUS_SIZE.xl,\n },\n \"5xl\": {\n className: \"size-28 !text-h2 !font-bold\",\n statusSize: STATUS_SIZE[\"2xl\"],\n },\n} as const;\n\n// Styles\nconst statusVariants = cva(\n \"bg-fill-static-green-03 absolute right-0 bottom-0 rounded-unit-corner-radius-rounded-full border-unit-border-width-sm !border-stroke-inverse-slate-01\",\n {\n variants: {\n size: {\n sm: \"size-2 border-unit-border-width-sm\",\n md: \"size-[10px] border-unit-border-width-sm\",\n lg: \"size-[18px] border-unit-border-width-md\",\n xl: \"size-6 border-unit-border-width-md\",\n \"2xl\": \"size-8 border-unit-border-width-lg\",\n },\n status: {\n active: \"bg-fill-static-green-03\",\n inactive: \"bg-fill-static-slate-03\",\n },\n },\n defaultVariants: {\n size: \"sm\",\n },\n },\n);\n\n// Interfaces\ninterface BaseAvatarProps\n extends React.ComponentProps<typeof AvatarPrimitive.Root> {\n fallback: string;\n fallbackClassName?: string;\n status?: Status;\n size?: AvatarSize;\n tooltip?: React.ReactNode;\n tooltipPosition?: PositionProps;\n}\n\ninterface ImageAvatarProps extends BaseAvatarProps {\n variant: \"image\";\n imgsrc: string;\n}\n\ninterface TextAvatarProps extends BaseAvatarProps {\n variant: \"text\";\n}\n\ninterface EmptyAvatarProps extends BaseAvatarProps {\n variant: \"placeholder\";\n}\n\nexport type AvatarProps = ImageAvatarProps | TextAvatarProps | EmptyAvatarProps;\n\n// Avatar Content Components\nconst ImageAvatarContent: React.FC<{\n imgsrc: string;\n fallback: string;\n sizeConfig: (typeof AVATAR_SIZE_MAPPER)[keyof typeof AVATAR_SIZE_MAPPER];\n fallbackClassName?: string;\n}> = ({ imgsrc, fallback, sizeConfig, fallbackClassName }) => (\n <>\n <BaseAvatarImage src={imgsrc} />\n <BaseAvatarFallback\n className={cn(\n sizeConfig.className,\n \"bg-primary-bg-normal\",\n fallbackClassName,\n )}\n >\n {fallback}\n </BaseAvatarFallback>\n </>\n);\n\nconst EmptyAvatarContent: React.FC<{\n fallback: string;\n sizeConfig: (typeof AVATAR_SIZE_MAPPER)[keyof typeof AVATAR_SIZE_MAPPER];\n fallbackClassName?: string;\n}> = ({ fallback, sizeConfig, fallbackClassName }) => (\n <>\n <BaseAvatarImage src=\"\" className=\"bg-fill-inverse-slate-03\" />\n <BaseAvatarFallback\n className={cn(\n sizeConfig.className,\n \"bg-primary-bg-normal\",\n fallbackClassName,\n )}\n >\n {fallback}\n </BaseAvatarFallback>\n </>\n);\n\n// const IconAvatarContent: React.FC<{\n// icon: React.ReactNode;\n// }> = ({ icon }) => <>{icon}</>;\n\nconst TextAvatarContent: React.FC<{\n fallback: string;\n sizeConfig: (typeof AVATAR_SIZE_MAPPER)[keyof typeof AVATAR_SIZE_MAPPER];\n fallbackClassName?: string;\n}> = ({ fallback, sizeConfig, fallbackClassName }) => (\n <BaseAvatarFallback\n className={cn(\n sizeConfig.className,\n \"bg-fill-inverse-slate-03 text-element-inverse-default font-semibold\",\n fallbackClassName,\n )}\n >\n {fallback}\n </BaseAvatarFallback>\n);\n\n// Main Components\nfunction AvatarStack({\n stackCount = 1,\n size = \"md\",\n showCount = true,\n isLastOnTop = true,\n stackClassName,\n avatars = [],\n}: {\n stackCount?: number;\n size?: \"sm\" | \"md\" | \"lg\";\n showCount?: boolean;\n isLastOnTop?: boolean;\n avatars: AvatarProps[];\n stackClassName?: string;\n}) {\n const sizeMap = { sm: \"xs\", md: \"sm\", lg: \"md\" } as const;\n\n return (\n <div className={cn(\"flex items-center -space-x-2\", stackClassName)}>\n {avatars.slice(0, stackCount).map((avatar, index) => (\n <Avatar\n {...avatar}\n key={index}\n size={sizeMap[size]}\n className=\"outline-stroke-inverse-slate-01 outline-1\"\n style={{\n zIndex: isLastOnTop ? index + 1 : stackCount - index,\n }}\n />\n ))}\n {showCount && avatars.length > stackCount && (\n <Avatar\n variant=\"text\"\n fallback={`+${avatars.length - stackCount}`}\n size={sizeMap[size]}\n className=\"text-element-inverse-default text-caption leading-caption bg-fill-inverse-slate-03 border-stroke-inverse-slate-01 outline-stroke-inverse-slate-01 border font-semibold outline-1\"\n fallbackClassName=\"text-caption\"\n style={{\n zIndex: isLastOnTop ? avatars.length + 1 : 0,\n }}\n />\n )}\n </div>\n );\n}\n\nfunction Avatar({\n variant,\n fallback,\n status,\n size = \"sm\",\n className,\n fallbackClassName,\n tooltip,\n tooltipPosition = \"top\",\n ...props\n}: AvatarProps) {\n const sizeConfig = AVATAR_SIZE_MAPPER[size];\n\n const renderAvatarContent = () => {\n switch (variant) {\n case \"image\":\n return (\n <ImageAvatarContent\n imgsrc={(props as ImageAvatarProps).imgsrc}\n fallback={fallback}\n sizeConfig={sizeConfig}\n fallbackClassName={fallbackClassName}\n />\n );\n case \"text\":\n return (\n <TextAvatarContent\n fallback={fallback}\n sizeConfig={sizeConfig}\n fallbackClassName={fallbackClassName}\n />\n );\n case \"placeholder\":\n return (\n <EmptyAvatarContent\n fallback={fallback}\n sizeConfig={sizeConfig}\n fallbackClassName={fallbackClassName}\n />\n );\n default:\n return null;\n }\n };\n\n const avatarElement = (\n <div className=\"relative w-fit\">\n <BaseAvatar\n {...props}\n className={cn(\n sizeConfig.className,\n className,\n \"flex items-center justify-center text-center\",\n {\n \"bg-primary-bg-light\": variant === \"placeholder\",\n },\n \"flex items-center justify-center text-center\",\n )}\n >\n {renderAvatarContent()}\n </BaseAvatar>\n {!!status && (\n <BaseAvatarStatus status={status} size={sizeConfig.statusSize} />\n )}\n </div>\n );\n\n if (tooltip) {\n return (\n <Tooltip\n trigger={avatarElement}\n content={tooltip}\n position={tooltipPosition}\n />\n );\n }\n\n return avatarElement;\n}\n\n// Base Components\nfunction BaseAvatarStatus({\n className,\n status,\n size,\n ...props\n}: {\n className?: string;\n status: Status;\n size: StatusSize;\n} & React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(statusVariants({ size, status }), className)}\n {...props}\n />\n );\n}\n\nfunction BaseAvatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseAvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction BaseAvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted flex size-full items-center justify-center rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarStack };\n","import * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\n/**\n * position = where the whole tooltip is placed (side + alignment). Arrow follows: same edge and alignment.\n * E.g. \"bottom-right\" = tooltip below, aligned right; arrow on top edge at end (right).\n */\nexport type PositionProps =\n | \"top\"\n | \"top-center\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n | \"left\"\n | \"right\";\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\n/** position = tooltip placement (side + align). No inversion. */\nfunction parsePosition(position: string): {\n side: Side;\n align: Align | undefined;\n} {\n const side: Side = /^top/.test(position)\n ? \"top\"\n : /^bottom/.test(position)\n ? \"bottom\"\n : /^left/.test(position)\n ? \"left\"\n : /^right/.test(position)\n ? \"right\"\n : \"top\";\n\n let align: Align | undefined;\n if (position.includes(\"-\")) {\n if (position.endsWith(\"-center\")) align = undefined;\n else if (/(left|top)$/.test(position)) align = \"start\";\n else if (/(right|bottom)$/.test(position)) align = \"end\";\n }\n\n return { side, align };\n}\n\nfunction getArrowPositionStyle(\n side: Side,\n align: Align | undefined\n): React.CSSProperties {\n const offset = 0; // 0.75rem\n if (align === \"start\") {\n if (side === \"top\" || side === \"bottom\")\n return { left: offset, right: \"auto\", transform: undefined };\n return { top: offset, bottom: \"auto\", transform: undefined };\n }\n if (align === \"end\") {\n if (side === \"top\" || side === \"bottom\")\n return { right: offset, left: \"auto\", transform: undefined };\n return { bottom: offset, top: \"auto\", transform: undefined };\n }\n return {};\n}\n\n/** Optional: wrap a subtree to share tooltip delay/behavior. Each Tooltip has its own context by default. */\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\n// Main component: each Tooltip has its own Provider (separate context) so interactive content works when disableHoverableContent={false}.\nfunction Tooltip({\n trigger,\n content,\n position = \"top\",\n withArrow = true,\n className,\n disableHoverableContent = true,\n ...props\n}: {\n trigger: React.ReactNode;\n content: React.ReactNode;\n position?: PositionProps;\n withArrow?: boolean;\n className?: string;\n disableHoverableContent?: boolean;\n} & React.ComponentProps<typeof TooltipPrimitive.Root>) {\n const { side, align } = parsePosition(position);\n\n return (\n <TooltipPrimitive.Provider delayDuration={0}>\n <TooltipPrimitive.Root\n data-slot=\"tooltip\"\n disableHoverableContent={disableHoverableContent}\n {...props}\n >\n <TooltipPrimitive.Trigger asChild data-slot=\"tooltip-trigger\">\n {trigger}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n side={side}\n align={align}\n sideOffset={0}\n className={cn(\n disableHoverableContent && \"pointer-events-none\",\n \"text-element-inverse-default-alt! font-medium bg-fill-inverse-slate-10 glass-effect rounded-unit-corner-radius-lg shadow-box\",\n \"animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:invisible data-[state=closed]:hidden\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n \"text-body-sm z-(--z-popover) w-fit origin-(--radix-tooltip-content-transform-origin) px-unit-8px py-unit-6px font-sans text-balance max-w-[500px]\",\n className\n )}\n >\n {content}\n {withArrow && (\n <TooltipPrimitive.Arrow\n data-slot=\"tooltip-arrow\"\n data-arrow-align={align}\n className=\"fill-fill-inverse-slate-10 z-(--z-popover)\"\n style={{\n ...getArrowPositionStyle(side, align),\n }}\n />\n )}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n );\n}\n\nexport { Tooltip, TooltipProvider };\n","import { cn } from \"@/utils\";\nimport { forwardRef } from \"react\";\n\nexport const Text = forwardRef<\n HTMLParagraphElement,\n React.ComponentProps<\"p\"> & {\n className?: string;\n }\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n return (\n <p\n ref={ref}\n className={cn(\n \"text-body-sm! leading-body-sm text-element-inverse-default font-medium\",\n className\n )}\n {...rest}\n >\n {children}\n </p>\n );\n});\n\nText.displayName = \"Text\";\n","import { Avatar, Badge } from \"@/ui\";\nimport { Text } from \"@/ui/Text\";\nimport { cn, getInitials } from \"@/utils\";\nimport type { PositionProps } from \"@/ui/Tooltip\";\n\ntype AvatarListItemProps = {\n avatar: string;\n name: string;\n email: string;\n isMe?: boolean;\n className?: string;\n tooltip?: React.ReactNode;\n tooltipPosition?: PositionProps;\n};\n\nconst AvatarListItem = (props: AvatarListItemProps) => {\n const { avatar, name, email, isMe = false, className, tooltip, tooltipPosition } = props;\n\n return (\n <div className={cn(\"flex gap-3 p-2\", className)}>\n <Avatar\n fallback={getInitials(name)}\n variant=\"image\"\n imgsrc={avatar}\n size=\"2xl\"\n tooltip={tooltip}\n tooltipPosition={tooltipPosition}\n />\n\n <div className=\"flex flex-col\">\n <div className=\"flex flex-nowrap gap-1.5\">\n <Text className=\"text-title-sm font-semibold\">{name}</Text>\n\n {isMe && <Badge>You</Badge>}\n </div>\n\n <Text className=\"text-body-sm! text-element-inverse-gray truncate font-medium\">\n {email}\n </Text>\n </div>\n </div>\n );\n};\n\nexport default AvatarListItem;\n","import { cn } from \"@/utils\";\nimport { cva } from \"class-variance-authority\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport IconContainer from \"@/ui/IconContainer\";\n\nconst BadgeVariants = cva(\n \"w-full !text-caption leading-caption cursor-default flex max-w-fit items-center justify-center gap-0.5 font-medium\",\n {\n variants: {\n type: {\n // primary: \"bg-fill-static-blue-03 text-element-static-white\",\n \"primary-hard\": \"bg-fill-static-blue-03 text-element-static-white\",\n \"primary-soft\": \"bg-fill-inverse-blue-02 text-element-inverse-blue\",\n \"destructive-hard\": \"bg-fill-static-red-03 text-element-static-white\",\n \"destructive-soft\": \"bg-fill-inverse-red-02 text-element-inverse-red\",\n \"secondary-hard\":\n \"bg-fill-inverse-slate-09 text-element-inverse-default-alt\",\n \"secondary-soft\":\n \"bg-fill-inverse-slate-03 text-element-inverse-default\",\n },\n size: {\n sm: \"rounded-unit-corner-radius-sm py-unit-0px px-unit-4px\",\n md: \"rounded-unit-corner-radius-md py-unit-2px px-unit-6px\",\n },\n },\n },\n);\n\ninterface BadgeProps {\n type?:\n | \"primary-hard\"\n | \"primary-soft\"\n | \"destructive-hard\"\n | \"destructive-soft\"\n | \"secondary-hard\"\n | \"secondary-soft\";\n size?: \"sm\" | \"md\";\n rounded?: boolean;\n children: React.ReactNode;\n className?: string;\n prefixIcon?: React.ReactNode;\n suffixIcon?: React.ReactNode;\n}\n\n// Main component\nconst Badge = ({\n type = \"primary-hard\",\n children,\n size = \"sm\",\n className,\n rounded = false,\n prefixIcon,\n suffixIcon,\n}: BadgeProps) => {\n return (\n <BaseBadge\n className={cn(\n BadgeVariants({ type, size }),\n className,\n rounded ? \"!rounded-full\" : \"\",\n )}\n >\n {prefixIcon && (\n <IconContainer\n className={cn(\n \"h-5 w-5 p-0.5\",\n type.includes(\"hard\")\n ? \"[&_path]:fill-current\"\n : \"[&_path]:fill-current\",\n )}\n >\n {prefixIcon}\n </IconContainer>\n )}\n {children}\n {suffixIcon && (\n <IconContainer\n className={cn(\n \"h-5 w-5 p-0.5\",\n type.includes(\"hard\")\n ? \"[&_path]:fill-current\"\n : \"[&_path]:fill-current\",\n )}\n >\n {suffixIcon}\n </IconContainer>\n )}\n </BaseBadge>\n );\n};\n\n// Base components\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction BaseBadge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, BaseBadge };\n","import { cn } from \"@/utils\";\nimport Lottie, { type LottieRefCurrentProps } from \"lottie-react\";\nimport * as React from \"react\";\nimport { useRef } from \"react\";\n\ntype IconContainerProps = {\n /**\n * Whether to apply fill colors to SVG paths (true) or use text color (false).\n * @default true\n */\n colorInFill?: boolean;\n /**\n * Whether to disable the theme.\n * @default false\n */\n disableTheme?: boolean;\n /**\n * The type of icon to display.\n * - `animated`: Displays an animated Lottie animation.\n * - `static`: Displays a static icon.\n * @default \"static\"\n */\n type?: \"animated\" | \"static\";\n /**\n * The size of the icon.\n * @default \"sm\"\n */\n size?:\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"5xl\"\n | \"6xl\"\n | \"auto\";\n} & React.HTMLAttributes<HTMLDivElement>;\n\ntype AnimatedIconProps = IconContainerProps & {\n type: \"animated\";\n isLoading?: boolean;\n animationData: unknown;\n};\n\ntype StaticIconProps = IconContainerProps & {\n type?: \"static\";\n children: React.ReactNode;\n};\n\nexport type IconProps = AnimatedIconProps | StaticIconProps;\n\nfunction isAnimatedIconProps(props: IconProps): props is AnimatedIconProps {\n return props.type === \"animated\";\n}\n\nexport default function IconContainer({\n colorInFill = true,\n type = \"static\",\n disableTheme = false,\n size = \"sm\",\n className,\n ...props\n}: IconProps) {\n const lottieRef = useRef<LottieRefCurrentProps>(null);\n\n const typedProps = { ...props, type } as IconProps;\n\n const isAnimated = isAnimatedIconProps(typedProps);\n\n // Get container size based on size prop\n const getContainerSize = (containerSize: IconContainerProps[\"size\"]) => {\n switch (containerSize) {\n case \"auto\":\n return \"\";\n case \"xs\":\n return \"h-[18px] w-[18px]\";\n case \"sm\":\n return \"h-5 w-5\";\n case \"md\":\n return \"w-6 h-6\";\n case \"lg\":\n return \"h-7 w-7\";\n case \"xl\":\n return \"h-8 w-8\";\n case \"2xl\":\n return \"h-9 w-9\";\n case \"3xl\":\n return \"h-11 w-11\";\n case \"4xl\":\n return \"h-14 w-14\";\n case \"5xl\":\n return \"h-[68px] w-[68px]\";\n case \"6xl\":\n return \"h-20 w-20\";\n default:\n return \"h-[18px] w-[18px]\";\n }\n };\n\n const handleMouseEnter = () => {\n lottieRef.current?.setDirection(1);\n lottieRef.current?.play();\n };\n const handleMouseLeave = () => {\n if (isAnimated && !typedProps.isLoading) {\n lottieRef.current?.setDirection(-1);\n lottieRef.current?.play();\n }\n };\n\n return (\n <div\n onMouseEnter={isAnimated ? handleMouseEnter : undefined}\n onMouseLeave={isAnimated ? handleMouseLeave : undefined}\n className={cn(\n \"flex shrink-0 items-center justify-center\",\n getContainerSize(size),\n {\n /* Styles for svg paths */\n \"[&_path]:fill-element-inverse-default dark:[&_path]:fill-element-inverse-defaul-alt\":\n !disableTheme && colorInFill,\n\n /* Styles for svg element */\n \"text-element-inverse-default\": !disableTheme && !colorInFill,\n\n /* Exception for button ai-outline variant */\n \"group-hover:group-data-[variant='ai-outline']:[&_path]:fill-element-inverse-default-alt! dark:group-hover:group-data-[variant='ai-outline']:[&_path]:fill-element-inverse-default!\":\n !disableTheme,\n },\n className,\n )}\n {...props}\n >\n {!isAnimated && (\n <>\n {React.Children.map(typedProps.children, (child) => {\n if (React.isValidElement(child)) {\n const childElement = child as React.ReactElement<any>;\n return React.cloneElement(childElement, {\n className: cn(\n \"h-full w-full\",\n childElement.props?.className || \"\",\n ),\n strokeWidth: 0.4,\n });\n }\n return child;\n })}\n </>\n )}\n {isAnimated && (\n <Lottie\n lottieRef={lottieRef}\n animationData={typedProps.animationData}\n loop={typedProps.isLoading}\n autoplay={typedProps.isLoading}\n />\n )}\n </div>\n );\n}\n","import { ChevronRight } from \"lucide-react\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/ui/Dropdown\";\nimport { cn } from \"@/utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React from \"react\";\n\ninterface BreadcrumbItemType {\n label: string;\n href?: string;\n onlyIcon?: React.ReactNode;\n leadingIcon?: React.ReactNode;\n disabled?: boolean;\n}\n\ninterface BreadcrumbProps {\n items: BreadcrumbItemType[];\n className?: string;\n}\n\n// Common styles for breadcrumb items\nconst breadcrumbItemStyles =\n \"hover:bg-breadcrumb-bg-hover py-2px px-2px text-caption text-text-light rounded-md font-medium transition-colors duration-75\";\nconst disabledItemStyles =\n \"text-text-inactive bg-transparent hover:bg-transparent\";\nconst iconContainerStyles =\n \"flex h-[18px] w-[18px] items-center justify-center\";\nconst linkStyles = \"text-caption gap-x-4px flex items-center\";\n\n// Component to render item content (icon + label)\nconst ItemContent = ({ item }: { item: BreadcrumbItemType }) => {\n if (item.onlyIcon) {\n return (\n <span className=\"p-0.5\">\n <span className={iconContainerStyles}>{item.onlyIcon}</span>\n </span>\n );\n }\n\n if (item.leadingIcon) {\n return (\n <>\n <span className={iconContainerStyles}>{item.leadingIcon}</span>\n {item.label}\n </>\n );\n }\n\n return <span className=\"px-4px py-2px\">{item.label}</span>;\n};\n\n// Component to render a single breadcrumb item\nconst BreadcrumbItemContent = ({ item }: { item: BreadcrumbItemType }) => {\n if (item.disabled) {\n return (\n <BreadcrumbPage className={linkStyles}>\n <ItemContent item={item} />\n </BreadcrumbPage>\n );\n }\n\n return (\n <BreadcrumbLink href={item.href} className={linkStyles}>\n <ItemContent item={item} />\n </BreadcrumbLink>\n );\n};\n\nconst Breadcrumb = ({ items }: BreadcrumbProps) => {\n const renderItems = () => {\n const first = items[0];\n const middle = items.slice(1, items.length - 2);\n const lastTwo = items.slice(-2);\n\n return items.length >= 4 ? (\n <>\n {/* First item */}\n <BreadcrumbItem\n key={first.label}\n className={cn(\n breadcrumbItemStyles,\n first.disabled && disabledItemStyles,\n first.leadingIcon && \"pl-2px pr-4px\",\n )}\n >\n <ItemContent item={first} />\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n\n {/* Dropdown ellipsis for middle items */}\n <BreadcrumbItem key=\"ellipsis\" className={cn(breadcrumbItemStyles)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <BreadcrumbEllipsis />\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n {middle.map((item) => (\n <DropdownMenuItem key={item.label}>\n <BreadcrumbLink href={item.href} className={linkStyles}>\n <ItemContent item={item} />\n </BreadcrumbLink>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n\n {/* Last two items */}\n {lastTwo.map((item, idx) => (\n <React.Fragment key={item.label}>\n <BreadcrumbItem\n className={cn(\n breadcrumbItemStyles,\n item.leadingIcon && \"pl-2px pr-4px\",\n item.disabled && disabledItemStyles,\n idx === lastTwo.length - 1 && \"text-text-default font-semibold\",\n )}\n >\n <BreadcrumbItemContent item={item} />\n </BreadcrumbItem>\n {idx < lastTwo.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n </>\n ) : (\n items.map((item, idx) => (\n <React.Fragment key={item.label}>\n <BreadcrumbItem\n className={cn(\n breadcrumbItemStyles,\n item.leadingIcon && \"pl-2px pr-4px\",\n item.disabled && disabledItemStyles,\n idx === items.length - 1 && \"text-text-default font-semibold\",\n )}\n >\n <BreadcrumbItemContent item={item} />\n </BreadcrumbItem>\n {idx < items.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))\n );\n };\n\n return (\n <BaseBreadcrumb>\n <BreadcrumbList>{renderItems()}</BreadcrumbList>\n </BaseBreadcrumb>\n );\n};\n\nexport { Breadcrumb };\n\n// Base components\nfunction BaseBreadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1 text-sm break-words\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"hover:text-foreground transition-colors\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"text-foreground font-normal\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-[18px]\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex items-center justify-center px-1\", className)}\n {...props}\n >\n <span className=\"text-caption text-text-light\">...</span>\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n","import { cn } from \"@/utils\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\";\nimport { MagickoCheck } from \"magick-icons\";\nimport IconContainer from \"@/ui/IconContainer\";\n\n// Base components for dropdown menu\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n isBgTransparent = true,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger> & {\n isBgTransparent?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n className={cn(\n props.className,\n \"text-element-inverse-default gap-x-unit-8px px-unit-12px py-unit-10px hover:bg-dropdown-hovered text-body-sm rounded-unit-corner-radius-lg flex cursor-pointer items-center font-medium whitespace-nowrap ring-0 transition-all outline-none\",\n {\n \"bg-transparent\": isBgTransparent,\n },\n )}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"text-element-inverse-default bg-opacity-inverse-05 glass-effect border-stroke-inverse-slate-02 rounded-unit-corner-radius-3xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 shadow-box p-unit-8px z-[var(--z-popover)] max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto border\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n showCheck = false,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n showCheck?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"hover:bg-dropdown-hovered p-unit-6px focus:bg-dropdown-hovered focus:bg-dropdown-bg-hover text-element-inverse-default [&_svg:not([class*='text-'])]:text-muted-foreground text-body-sm rounded-unit-corner-radius-lg relative flex cursor-pointer items-center justify-between gap-3 font-medium outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n {showCheck && <CheckIcon className=\"text-element-inverse-blue ml-auto\" />}\n </DropdownMenuPrimitive.Item>\n );\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n checkPosition = \"left\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n checkPosition?: \"left\" | \"right\";\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"text-element-inverse-default p-unit-6px hover:bg-dropdown-hovered focus:bg-dropdown-hovered rounded-unit-corner-radius-lg text-body-sm relative flex cursor-pointer items-center gap-2 outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {checkPosition === \"left\" && (\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <IconContainer disableTheme colorInFill={false}>\n <MagickoCheck className=\"[&_path]:fill-element-inverse-blue size-4\" />\n </IconContainer>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n )}\n {children}\n {checkPosition === \"right\" && (\n <span className=\"pointer-events-none absolute right-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <IconContainer disableTheme colorInFill={false}>\n <MagickoCheck className=\"[&_path]:fill-element-inverse-blue size-4\" />\n </IconContainer>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n )}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"text-element-inverse-default px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n hideChevron = false,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n hideChevron?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n {!hideChevron && <ChevronRightIcon className=\"ml-auto size-4\" />}\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n side,\n sideOffset,\n align,\n alignOffset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n sideOffset?: number;\n align?: \"start\" | \"center\" | \"end\";\n alignOffset?: number;\n}) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n {...(side && { side })}\n {...(sideOffset !== undefined && { sideOffset })}\n {...(align && { align })}\n {...(alignOffset !== undefined && { alignOffset })}\n className={cn(\n \"bg-surface-bg-container text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[var(--z-popover)] min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-3xl p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Loader2Icon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\n\nexport interface ButtonProps\n extends Omit<React.ComponentProps<\"button\">, \"prefix\" | \"suffix\">,\n VariantProps<typeof buttonVariants> {\n size?: \"sm\" | \"md\" | \"lg\";\n state?: \"loading\" | \"default\";\n asChild?: boolean;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n onlyIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst buttonVariants = cva(\n \"flex group leading-body-sm line-height-body-sm items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md font-medium transition-all disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[20px] shrink-0 [&_svg]:shrink-0 outline-none ring-0\",\n {\n variants: {\n variant: {\n // default:\n // \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n primary:\n \"bg-button-primary-enabled text-element-static-white! hover:bg-button-primary-hovered active:bg-button-primary-pressed focus-visible:bg-button-primary-pressed disabled:bg-button-primary-disabled disabled:text-element-inverse-disabled!\",\n secondary:\n \"bg-button-secondary-enabled text-element-inverse-default-alt! hover:bg-button-secondary-hovered active:bg-button-secondary-pressed disabled:bg-button-secondary-disabled disabled:text-element-inverse-disabled!\",\n destructive:\n \"bg-button-destructive-enabled text-element-static-white! hover:bg-button-destructive-hovered active:bg-button-destructive-pressed disabled:bg-button-destructive-disabled disabled:text-element-inverse-disabled!\",\n outline:\n \"border border-stroke-inverse-slate-03 text-element-inverse-default rounded-unit-corner-radius-lg bg-button-outline-enabled hover:bg-button-outline-hovered active:bg-button-outline-pressed disabled:bg-button-outline-disabled disabled:text-element-inverse-disabled!\",\n ghost:\n \"bg-transparent text-element-inverse-default hover:bg-button-ghost-hovered active:bg-button-ghost-pressed disabled:bg-button-ghost-disabled disabled:text-element-inverse-disabled!\",\n soft: \"bg-button-soft-enabled text-element-inverse-default hover:bg-button-soft-hovered active:bg-button-soft-pressed disabled:bg-button-soft-disabled disabled:text-element-inverse-disabled!\",\n \"ai-filled\": \"relative\",\n \"ai-outline\": \"relative\",\n glass:\n \"glass-effect bg-button-glass-enabled border border-stroke-inverse-slate-01 hover:bg-button-glass-hovered active:bg-button-glass-pressed disabled:bg-button-glass-disabled\",\n },\n size: {\n sm: \"rounded-lg gap-1 px-1.5 py-1 text-body-sm\",\n // \"icon-sm\": \"p-4px rounded-md \",\n md: \"px-2.5 py-2 rounded-[10px] gap-2 text-body-sm\",\n // \"icon-md\": \"rounded-lg p-2\",\n lg: \"px-3.5 py-3 rounded-xl gap-2 text-body-lg\",\n // \"icon-lg\": \"rounded-xl p-3\",\n },\n\n state: {\n loading: \"opacity-80 cursor-progress\",\n default: \"\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n state: \"default\",\n },\n }\n);\n\nfunction getButtonPadding(\n size: string,\n prefix: React.ReactNode,\n suffix: React.ReactNode,\n onlyIcon?: boolean\n): string {\n if (prefix && suffix) {\n if (size === \"sm\") return \"px-1.5\";\n if (size === \"md\") return \"p-2.5\";\n if (size === \"lg\") return \"px-3\";\n } else if (prefix) {\n if (size === \"sm\") return \"pl-1.5 pr-2\";\n if (size === \"md\") return \"pl-2.5 py-2.5 pr-3\";\n if (size === \"lg\") return \"pl-3.5 pr-4\";\n } else if (suffix) {\n if (size === \"sm\") return \"pr-1.5 pl-2\";\n if (size === \"md\") return \"pl-3\";\n if (size === \"lg\") return \"pr-3.5 pl-4\";\n } else if (onlyIcon) {\n if (size === \"sm\") return \"p-1\";\n if (size === \"md\") return \"p-2\";\n if (size === \"lg\") return \"p-3\";\n }\n return \"\";\n}\n\nfunction Button({\n className,\n variant = \"primary\",\n state,\n size = \"md\",\n prefix,\n suffix,\n onlyIcon,\n asChild = false,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : \"button\";\n const isDisabled = state === \"loading\" || props.disabled;\n\n const renderAffix = (node?: React.ReactNode) => {\n if (!node) return null;\n if (React.isValidElement(node)) {\n const nodeElement = node as React.ReactElement<{ className?: string }>;\n return React.cloneElement(nodeElement, {\n className: cn(\n nodeElement.props?.className || \"\",\n isDisabled && \"text-element-inverse-disabled\"\n ),\n });\n }\n return node;\n };\n\n if (variant === \"ai-filled\" || variant === \"ai-outline\") {\n const isAiFilled = variant === \"ai-filled\";\n\n return (\n <Comp\n data-variant={variant}\n data-slot=\"button\"\n className={cn(\"group relative cursor-pointer p-0.5\")}\n disabled={isDisabled}\n {...props}\n >\n <div\n className={cn(\n \"absolute inset-0 block\",\n buttonVariants({ size, className })\n )}\n style={{\n backgroundImage: \"none\",\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }}\n />\n <div\n className={cn(\n buttonVariants({ variant, size, className }),\n size === \"sm\" && \"rounded-[7px]\",\n size === \"md\" && \"rounded-[9px]\",\n size === \"lg\" && \"rounded-[11px]\",\n getButtonPadding(size, prefix, suffix, onlyIcon),\n {\n \"gap-1\": size === \"sm\",\n \"hover:text-element-inverse-default text-white hover:bg-white\":\n isAiFilled,\n \"text-element-inverse-default dark:bg-fill-background bg-white hover:bg-transparent hover:text-white\":\n !isAiFilled,\n }\n )}\n >\n {state === \"loading\" && <Loader2Icon className=\"animate-spin\" />}\n {renderAffix(prefix)}\n {children}\n {renderAffix(suffix)}\n </div>\n </Comp>\n );\n }\n\n return (\n <Comp\n data-variant={variant}\n data-slot=\"button\"\n className={cn(\n buttonVariants({ variant, size, className }),\n getButtonPadding(size || \"md\", prefix, suffix, onlyIcon || false)\n )}\n disabled={isDisabled}\n {...props}\n >\n {state === \"loading\" && <Loader2Icon className=\"animate-spin\" />}\n {renderAffix(prefix)}\n {children}\n {renderAffix(suffix)}\n </Comp>\n );\n}\n\nexport { Button, buttonVariants };\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Loader2Icon } from \"lucide-react\";\n\nexport interface ToolButtonProps\n extends Omit<React.ComponentProps<\"button\">, \"prefix\" | \"suffix\">,\n VariantProps<typeof toolButtonVariants> {\n state?: \"loading\" | \"default\";\n asChild?: boolean;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n onlyIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst toolButtonVariants = cva(\n \"inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md text-body-sm font-medium transition-all disabled:pointer-events-none disabled:bg-button-bg-inactive [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[20px] shrink-0 [&_svg]:shrink-0 outline-none ring-0\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-bg-primaryDefault !text-white hover:bg-button-bg-primaryHover\",\n outline:\n \"border border-border-primary-light bg-button-bg-outlineDefault !text-text-default hover:bg-button-bg-outlineHover disabled:bg-button-bg-outlineDefault disabled:!text-text-inactive\",\n destructive:\n \"bg-button-bg-destructiveDefault !text-white hover:bg-button-bg-destructiveHover\",\n },\n size: {\n md: \"px-2.5 py-2 rounded-lg gap-2 text-body-sm\",\n lg: \"p-4 rounded-xl gap-2 text-body-sm\",\n },\n state: {\n loading: \"opacity-80 cursor-progress\",\n default: \"\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n state: \"default\",\n },\n },\n);\n\nfunction getToolButtonPadding(\n size: string,\n prefix: React.ReactNode,\n suffix: React.ReactNode,\n onlyIcon?: boolean,\n): string {\n if (size === \"md\") {\n if (prefix && suffix) return \"px-2\";\n else if (prefix) return \"pl-2 pr-2.5\";\n else if (suffix) return \"pr-2 pl-2.5\";\n else if (onlyIcon) return \"p-2\";\n }\n return \"p-4\";\n}\n\nfunction ToolButton({\n className,\n variant,\n state,\n size,\n prefix,\n suffix,\n onlyIcon,\n asChild = false,\n children,\n ...props\n}: ToolButtonProps) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n type=\"button\"\n className={cn(\n toolButtonVariants({ variant, size, className }),\n getToolButtonPadding(size || \"md\", prefix, suffix, onlyIcon || false),\n )}\n disabled={state === \"loading\" || props.disabled}\n {...props}\n >\n {state === \"loading\" && <Loader2Icon className=\"animate-spin\" />}\n {prefix && prefix}\n {children}\n {suffix && suffix}\n </Comp>\n );\n}\n\nexport { ToolButton, toolButtonVariants };\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nexport interface ButtonLinkProps\n extends Omit<React.ComponentProps<\"a\">, \"children\" | \"prefix\" | \"suffix\">,\n VariantProps<typeof buttonLinkVariants> {\n asChild?: boolean;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n disabled?: boolean;\n children: React.ReactNode;\n}\n\nconst buttonLinkVariants = cva(\n \"inline-flex items-center gap-1 !text-body-sm cursor-pointer font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n link: \"text-element-inverse-blue underline underline-offset-4\",\n \"text-link\": \"text-element-inverse-default\",\n error: \"text-element-inverse-red\",\n },\n },\n defaultVariants: {\n variant: \"link\",\n },\n }\n);\n\nfunction ButtonLink({\n className,\n variant,\n prefix,\n suffix,\n disabled = false,\n asChild = false,\n children,\n ...props\n}: ButtonLinkProps) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n className={cn(buttonLinkVariants({ variant }), className, {\n \"text-element-inverse-disabled pointer-events-none hover:font-medium\":\n disabled,\n \"flex items-center gap-1\": prefix || suffix,\n })}\n aria-disabled={disabled}\n {...props}\n >\n {prefix && prefix}\n <span>{children}</span>\n {suffix && suffix}\n </Comp>\n );\n}\n\nexport { ButtonLink, buttonLinkVariants };\n","import type { TooltipProps } from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps } from \"react\";\nimport { Tooltip } from \"@/ui/Tooltip\";\n\nexport default function ButtonWithTooltip({\n tooltip,\n button,\n}: {\n tooltip: Omit<ComponentProps<typeof Tooltip>, \"trigger\">;\n button: React.ReactNode;\n}) {\n return <Tooltip {...tooltip} trigger={button} />;\n}\n","import * as React from \"react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@/utils\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { Button, buttonVariants } from \"@/ui/Button\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"group/calendar bg-fill-foreground p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months,\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n \"w-full flex items-center text-body-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n \"relative has-focus:border-stroke-static-blue-03 border border-stroke-inverse-slate-02 shadow-xs has-focus:ring-stroke-static-blue-03 has-focus:ring-[3px] rounded-unit-corner-radius-md\",\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn(\"absolute inset-0 opacity-0\", defaultClassNames.dropdown),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-body-sm\"\n : \"rounded-unit-corner-radius-md pl-2 pr-1 flex items-center gap-1 text-body-sm h-8 [&>svg]:text-element-inverse-gray [&>svg]:size-3.5\",\n defaultClassNames.caption_label,\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-element-inverse-gray rounded-unit-corner-radius-md flex-1 font-normal text-body-sm select-none\",\n defaultClassNames.weekday,\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header,\n ),\n week_number: cn(\n \"text-body-sm select-none text-element-inverse-gray\",\n defaultClassNames.week_number,\n ),\n day: cn(\n \"relative w-full h-full rounded-unit-corner-radius-md p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-unit-corner-radius-md [&:last-child[data-selected=true]_button]:rounded-r-unit-corner-radius-md group/day aspect-square select-none\",\n defaultClassNames.day,\n ),\n range_start: cn(\n \"rounded-l-unit-corner-radius-md bg-fill-inverse-slate-05\",\n defaultClassNames.range_start,\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\n \"rounded-r-unit-corner-radius-md bg-fill-inverse-slate-05\",\n defaultClassNames.range_end,\n ),\n today: cn(\n \"bg-fill-inverse-slate-03 rounded-unit-corner-radius-md! data-[selected=true]:rounded-none\",\n defaultClassNames.today,\n ),\n outside: cn(\n \"text-element-inverse-gray aria-selected:text-element-inverse-gray\",\n defaultClassNames.outside,\n ),\n disabled: cn(\n \"text-element-inverse-disabled opacity-unit-md\",\n defaultClassNames.disabled,\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"sm\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"data-[selected-single=true]:bg-button-primary-enabled data-[range-middle=true]:bg-fill-inverse-blue-01 data-[range-middle=true]:text-element-inverse-blue data-[range-start=true]:bg-button-primary-enabled data-[range-end=true]:bg-button-primary-enabled group-data-[focused=true]/day:border-stroke-static-blue-03 group-data-[focused=true]/day:ring-stroke-static-blue-03/50 data-[range-end=true]:rounded-unit-corner-radius-md data-[range-end=true]:rounded-r-unit-corner-radius-md data-[range-start=true]:rounded-unit-corner-radius-md data-[range-start=true]:rounded-l-unit-corner-radius-md [&>span]:text-body-sm [&>span]:opacity-unit-xl flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:!text-white data-[range-middle=true]:rounded-none data-[range-start=true]:!text-white data-[selected-single=true]:!text-white\",\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar };\n","import * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-card-bg-default border-border-primary-light hover:bg-card-bg-hover flex cursor-pointer flex-col gap-y-4 rounded-3xl border p-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-title-sm leading-none font-bold\", className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-content\" className={className} {...props} />;\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n","import useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Button } from \"@/ui\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"md\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ChevronLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"md\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ChevronRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n type CarouselApi,\n};\n","import * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon, Minus } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\n\ntype CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root> & {\n indeterminate?: boolean;\n value: string;\n label?: string | React.ReactNode;\n subLabel?: string | React.ReactNode;\n};\n\nfunction Checkbox({\n className,\n value,\n label,\n subLabel,\n ...props\n}: CheckboxProps) {\n return (\n <div className=\"flex flex-nowrap items-start gap-2\">\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer focus-visible:ring-effect-ring-primary aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive rounded-unit-corner-radius-md size-4 h-5 w-5 shrink-0 border shadow-xs transition-shadow outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\",\n \"\",\n \"data-[state=unchecked]:hover:bg-fill-inverse-slate-02 data-[state=unchecked]:border-stroke-inverse-slate-03 data-[state=unchecked]:hover:border-stroke-static-slate-03 data-[state=unchecked]:disabled:bg-fill-inverse-slate-02 data-[state=unchecked]:disabled:border-stroke-inverse-slate-02\",\n \"\",\n \"data-[state=checked]:bg-check-box-and-radio-selected-enabled data-[state=checked]:text-element-static-white data-[state=checked]:active:bg-check-box-and-radio-selected-pressed data-[state=checked]:hover:bg-check-box-and-radio-selected-hovered data-[state=checked]:disabled:bg-check-box-and-radio-selected-disabled data-[state=checked]:disabled:border-stroke-inverse-slate-03 data-[state=checked]:border-transparent\",\n className,\n )}\n id={props.id || value}\n checked={props.checked}\n onCheckedChange={\n props.onChange as unknown as (checked: boolean) => void\n }\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n {props.indeterminate ? (\n <Minus className=\"size-3.5\" />\n ) : (\n <CheckIcon className=\"size-3.5\" />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n\n <div className=\"flex flex-col gap-1\">\n {label ? <Label htmlFor={props.id || value}>{label}</Label> : null}\n {subLabel ? (\n <Label\n htmlFor={props.id || value}\n className=\"text-element-inverse-gray! text-body-sm font-medium\"\n >\n {subLabel}\n </Label>\n ) : null}\n </div>\n </div>\n );\n}\n\nexport { Checkbox };\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"text-title-sm text-element-inverse-default flex items-center gap-2 leading-none font-semibold select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn, getInitials } from \"@/utils\";\nimport { Avatar } from \"@/ui/Avatar\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ntype IconContainerProps = {\n colorInFill?: boolean;\n disableTheme?: boolean;\n type?: \"static\";\n size?:\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"5xl\"\n | \"6xl\";\n className?: string;\n style?: React.CSSProperties;\n} & Omit<React.HTMLAttributes<HTMLDivElement>, \"children\">;\n\nconst chipVariants = cva(\n \"inline-flex items-center justify-center border py-unit-4px px-unit-8px text-body-sm font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-5 gap-1 focus-visible:ring-0 overflow-hidden\",\n {\n variants: {\n type: {\n rounded: \"rounded-full\",\n rectangle: \"rounded-unit-corner-radius-lg\",\n },\n color: {\n slate:\n \"border-stroke-inverse-slate-03 text-element-inverse-default bg-chip-slate-enabled hover:bg-chip-slate-hovered\",\n red: \"border-stroke-inverse-red-01 text-element-inverse-red bg-chip-red-enabled hover:bg-chip-red-hovered\",\n orange:\n \"border-stroke-inverse-orange-01 text-element-inverse-orange bg-chip-orange-enabled hover:bg-chip-orange-hovered\",\n amber:\n \"border-stroke-inverse-amber-01 text-element-inverse-amber bg-chip-amber-enabled hover:bg-chip-amber-hovered\",\n yellow:\n \"border-stroke-inverse-yellow-01 text-element-inverse-yellow bg-chip-yellow-enabled hover:bg-chip-yellow-hovered\",\n lime: \"border-stroke-inverse-lime-01 text-element-inverse-lime bg-chip-lime-enabled hover:bg-chip-lime-hovered\",\n green:\n \"border-stroke-inverse-green-01 text-element-inverse-green bg-chip-green-enabled hover:bg-chip-green-hovered\",\n emerald:\n \"border-stroke-inverse-emerald-01 text-element-inverse-emerald bg-chip-emerald-enabled hover:bg-chip-emerald-hovered\",\n teal: \"border-stroke-inverse-teal-01 text-element-inverse-teal bg-chip-teal-enabled hover:bg-chip-teal-hovered\",\n cyan: \"border-stroke-inverse-cyan-01 text-element-inverse-cyan bg-chip-cyan-enabled hover:bg-chip-cyan-hovered\",\n sky: \"border-stroke-inverse-sky-01 text-element-inverse-sky bg-chip-sky-enabled hover:bg-chip-sky-hovered\",\n blue: \"border-stroke-inverse-blue-01 text-element-inverse-blue bg-chip-blue-enabled hover:bg-chip-blue-hovered\",\n indigo:\n \"border-stroke-inverse-indigo-01 text-element-inverse-indigo bg-chip-indigo-enabled hover:bg-chip-indigo-hovered\",\n violet:\n \"border-stroke-inverse-violet-01 text-element-inverse-violet bg-chip-violet-enabled hover:bg-chip-violet-hovered\",\n purple:\n \"border-stroke-inverse-purple-01 text-element-inverse-purple bg-chip-purple-enabled hover:bg-chip-purple-hovered\",\n fuchsia:\n \"border-stroke-inverse-fuchsia-01 text-element-inverse-fuchsia bg-chip-fuchsia-enabled hover:bg-chip-fuchsia-hovered\",\n pink: \"border-stroke-inverse-pink-01 text-element-inverse-pink bg-chip-pink-enabled hover:bg-chip-pink-hovered\",\n rose: \"border-stroke-inverse-rose-01 text-element-inverse-rose bg-chip-rose-enabled hover:bg-chip-rose-hovered\",\n },\n },\n defaultVariants: {\n type: \"rounded\",\n color: \"slate\",\n },\n }\n);\n\n// Main component\nfunction Chip({\n type,\n color,\n dot = false,\n icon,\n avatar,\n closeBtn = false,\n label,\n className,\n children,\n iconContainerProps,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof chipVariants> & {\n dot?: boolean;\n icon?: React.ReactNode;\n avatar?: string;\n closeBtn?:\n | false\n | {\n onClick: (e: React.MouseEvent) => void;\n };\n label: string;\n iconContainerProps?: IconContainerProps;\n }) {\n return (\n <span\n data-slot=\"chip\"\n className={cn(\n chipVariants({ type, color }),\n \"cursor-default gap-1 px-2 py-1\",\n className,\n {\n \"pl-1.5\": dot || !!icon,\n \"pl-1\": !!avatar,\n }\n )}\n {...props}\n >\n {dot && <Dot color={color} className=\"size-2\" />}\n {icon && (\n <IconContainer\n colorInFill={false}\n className={cn(\n \"[&_path]:fill-(--iconColor)!\",\n iconContainerProps?.className\n )}\n style={\n {\n [\"--iconColor\"]:\n (color ?? \"slate\") === \"slate\"\n ? \"var(--color-element-inverse-default)\"\n : `var(--color-element-inverse-${color ?? \"slate\"})`,\n ...iconContainerProps?.style,\n } as React.CSSProperties & { [\"--iconColor\"]: string }\n }\n {...iconContainerProps}\n >\n {icon}\n </IconContainer>\n )}\n {avatar && (\n <Avatar\n variant=\"image\"\n size=\"xs\"\n imgsrc={avatar}\n fallback={getInitials(label)}\n tooltip={label}\n />\n )}\n {label && (\n <p className=\"leading-body-sm text-body-sm truncate font-medium\">\n {label}\n </p>\n )}\n {closeBtn && (\n <X\n size={20}\n className=\"cursor-pointer\"\n onClick={(e) => {\n if (!closeBtn) return;\n closeBtn.onClick(e);\n }}\n />\n )}\n {children}\n </span>\n );\n}\n\nexport { Chip, chipVariants };\n\n// Dot component\nconst dotVariants = cva(\"size-3 rounded-full p-0.5\", {\n variants: {\n color: {\n slate: \"bg-element-inverse-default\",\n red: \"bg-element-inverse-red\",\n orange: \"bg-element-inverse-orange\",\n amber: \"bg-element-inverse-amber\",\n yellow: \"bg-element-inverse-yellow\",\n lime: \"bg-element-inverse-lime\",\n green: \"bg-element-inverse-green\",\n emerald: \"bg-element-inverse-emerald\",\n teal: \"bg-element-inverse-teal\",\n cyan: \"bg-element-inverse-cyan\",\n sky: \"bg-element-inverse-sky\",\n blue: \"bg-element-inverse-blue\",\n indigo: \"bg-element-inverse-indigo\",\n violet: \"bg-element-inverse-violet\",\n purple: \"bg-element-inverse-purple\",\n fuchsia: \"bg-element-inverse-fuchsia\",\n pink: \"bg-element-inverse-pink\",\n rose: \"bg-element-inverse-rose\",\n },\n },\n defaultVariants: {\n color: \"slate\",\n },\n});\n\nfunction Dot({\n className,\n color,\n ...props\n}: VariantProps<typeof dotVariants> & { className?: string }) {\n return <div className={cn(dotVariants({ color }), className)} {...props} />;\n}\n","\"use client\";\n\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Check, ChevronsUpDown, SearchIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { useEffect } from \"react\";\nimport { Button } from \"@/ui/Button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/ui/Popover\";\n\ninterface Option {\n value: string;\n label: string;\n}\n\ninterface ComboboxProps {\n options: Option[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n}\n\nexport function Combobox({\n options,\n value,\n onChange,\n placeholder = \"Select...\",\n className,\n disabled = false,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [popoverWidth, setPopoverWidth] = React.useState<number>();\n\n useEffect(() => {\n if (open && triggerRef.current) {\n setPopoverWidth(triggerRef.current.offsetWidth);\n }\n }, [open]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n ref={triggerRef}\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n className={cn(\"w-full justify-between\", className)}\n disabled={disabled}\n >\n {value\n ? options.find((option) => option.value === value)?.label\n : placeholder}\n <ChevronsUpDown className=\"opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"p-0\"\n style={popoverWidth ? { width: popoverWidth } : undefined}\n >\n <Command>\n <CommandInput placeholder={placeholder} className=\"h-9\" />\n <CommandList>\n <CommandEmpty>No option found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={(currentValue) => {\n onChange(currentValue === value ? \"\" : currentValue);\n setOpen(false);\n }}\n >\n {option.label}\n <Check\n className={cn(\n \"ml-auto\",\n value === option.value ? \"opacity-100\" : \"opacity-0\",\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function Command({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div\n data-slot=\"command-input-wrapper\"\n className=\"border-input-border-primaryDefault flex h-9 items-center gap-2 border-b px-3\"\n >\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nexport function CommandList({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CommandEmpty({\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n );\n}\n\nexport function CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CommandItem({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n","import * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"glass-effect border-stroke-inverse-slate-02 text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 shadow-box z-[var(--z-popover)] min-w-24 max-w-72 origin-(--radix-popover-content-transform-origin) rounded-3xl border p-2 outline-hidden\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n","\"use client\";\n\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n );\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n );\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n );\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\n \"bg-surface-bg-container text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-border-primary-light z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n className={cn(\n \"bg-surface-bg-container text-text-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-border-primary-light z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-3xl border p-2 shadow-md\",\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"bg-dropdown-bg-default hover:bg-dropdown-bg-hover focus:bg-dropdown-bg-hover text-text-default data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground text-body-sm relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 font-medium outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\"bg-border-primary-light -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n};\n","\"use client\";\n\nimport { format } from \"date-fns\";\nimport { CalendarDays } from \"lucide-react\";\nimport { ChevronDown } from \"magick-icons\";\nimport { cn } from \"@/utils\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/ui/Popover\";\nimport { Button } from \"@/ui/Button\";\nimport { Calendar } from \"@/ui/Calendar\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ninterface DatePickerInputProps extends React.ComponentProps<\"button\"> {\n date: Date | undefined;\n setDate: (date: Date | undefined) => void;\n placeholder?: string;\n /**\n * If true, disables all dates before today.\n */\n disablePast?: boolean;\n prefixNode?: React.ReactNode;\n /**\n * If true, shows a clear button when a date is selected.\n */\n withClearButton?: boolean;\n}\n\nexport function DatePickerInput({\n date,\n setDate,\n placeholder,\n disablePast = false,\n prefixNode,\n withClearButton = false,\n ...props\n}: DatePickerInputProps) {\n return (\n <div className=\"group relative\">\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant={\"outline\"}\n className={cn(\n \"border-stroke-inverse-slate-03 hover:border-stroke-static-slate-04 focus-visible:border-stroke-static-blue-03 active:border-stroke-static-blue-03 relative z-[2] w-full justify-start rounded-lg border\",\n \"disabled:bg-button-outline-disabled disabled:text-element-inverse-disabled disabled:border-stroke-inverse-slate-03 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-100\",\n \"aria-invalid:border-stroke-inverse-red-01 aria-invalid:text-text-destructive aria-invalid:hover:border-stroke-inverse-red-02 aria-invalid:focus-visible:ring-effect-ring-destructive aria-invalid:active:ring-effect-ring-destructive\"\n )}\n {...props}\n >\n {prefixNode || <CalendarDays size={20} />}\n <div className=\"max-w-[15ch] truncate\">\n {date ? (\n format(date, \"d MMM yyyy\")\n ) : (\n <span\n className={cn(\n !date &&\n \"text-element-inverse-disabled! text-body-sm leading-body-sm text-left font-medium\"\n )}\n >\n {placeholder}\n </span>\n )}\n </div>\n\n <IconContainer className=\"ml-auto\">\n <ChevronDown />\n </IconContainer>\n </Button>\n </PopoverTrigger>\n\n <PopoverContent\n className=\"border-stroke-inverse-slate-02 w-auto rounded-3xl p-0 shadow-md\"\n align=\"start\"\n >\n <Calendar\n mode=\"single\"\n selected={date}\n onSelect={setDate}\n initialFocus\n {...(disablePast ? { disabled: { before: new Date() } } : {})}\n />\n {withClearButton && date && (\n <div className=\"border-t border-stroke-inverse-slate-02 p-2\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"w-full\"\n onClick={(e) => {\n e.stopPropagation();\n setDate(undefined);\n }}\n >\n Clear all\n </Button>\n </div>\n )}\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n","import { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\nimport { getFileSize } from \"@/utils\";\nimport { Button } from \"@/ui/Button\";\nimport IconButton from \"@/ui/IconButton\";\nimport { ProgressIndicator } from \"@/ui/ProgressIndicator\";\n\ntype FileInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"type\" | \"onChange\"\n> & {\n label?: string;\n helperText?: string;\n error?: boolean;\n file?: File | null;\n isPending?: boolean; // Upload pending state from mutation\n onRemove?: () => void;\n onFileChange?: (file: File | null) => void;\n isUploaded?: boolean;\n accept?: string;\n multiple?: boolean;\n};\n\nexport const FileInput = ({\n label,\n helperText,\n error = false,\n file,\n isPending = false,\n onRemove,\n onFileChange,\n className,\n isUploaded = false,\n disabled,\n accept,\n multiple = false,\n id,\n ...props\n}: FileInputProps) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const [selectedFile, setSelectedFile] = React.useState<File | null>(\n file || null\n );\n const [animatedProgress, setAnimatedProgress] = React.useState(0);\n const animationRef = React.useRef<NodeJS.Timeout | null>(null);\n\n // Reset animated progress when file changes or is removed\n React.useEffect(() => {\n if (!selectedFile) {\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n }\n }, [selectedFile]);\n\n // Reset state when file prop changes\n React.useEffect(() => {\n if (!file) {\n // Reset all state when file is removed\n setSelectedFile(null);\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n return;\n }\n\n // This ensures we always have the latest file reference\n const fileId = `${file.name}-${file.size}-${file.lastModified}`;\n const currentFileId = selectedFile\n ? `${selectedFile.name}-${selectedFile.size}-${selectedFile.lastModified}`\n : null;\n\n // Only update if it's actually a different file\n if (fileId !== currentFileId) {\n // Reset all state for new file\n setSelectedFile(file);\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n } else if (selectedFile !== file) {\n // Same file but different reference - update the reference\n setSelectedFile(file);\n }\n }, [file, selectedFile]);\n\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files;\n if (!files || files.length === 0) {\n setSelectedFile(null);\n onFileChange?.(null);\n return;\n }\n\n const newFile = files[0];\n setSelectedFile(newFile);\n onFileChange?.(newFile);\n };\n\n const handleRemove = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n // Clear input first\n if (inputRef.current) {\n inputRef.current.value = \"\";\n }\n\n // Reset state immediately\n setSelectedFile(null);\n setAnimatedProgress(0);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n\n // Call onRemove first to remove from parent state immediately\n // This prevents any race conditions\n onRemove?.();\n // Then call onFileChange to sync\n onFileChange?.(null);\n };\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n };\n }, []);\n\n const handleChooseFile = () => {\n inputRef.current?.click();\n };\n\n const fileSize = selectedFile ? getFileSize(selectedFile.size) : \"\";\n\n // Animate progress when pending\n React.useEffect(() => {\n // Clear any existing animation\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n\n if (isUploaded) {\n setAnimatedProgress(100);\n return;\n }\n\n if (!isPending) {\n setAnimatedProgress(0);\n return;\n }\n\n // Animate progress smoothly from 0 to 100% while pending\n const targetProgress = 100;\n const duration = 300; // 0.3 seconds to reach 90%\n const steps = 13; // 13 steps for smooth animation\n const stepDuration = duration / steps;\n const increment = targetProgress / steps;\n\n setAnimatedProgress(0);\n\n let currentProgress = 0;\n animationRef.current = setInterval(() => {\n currentProgress += increment;\n if (currentProgress >= targetProgress) {\n currentProgress = targetProgress;\n setAnimatedProgress(targetProgress);\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n } else {\n setAnimatedProgress(currentProgress);\n }\n }, stepDuration);\n\n return () => {\n if (animationRef.current) {\n clearInterval(animationRef.current);\n animationRef.current = null;\n }\n };\n }, [isPending, isUploaded]);\n\n const progressPercentage = isUploaded ? 100 : animatedProgress;\n const isUploadingState = isPending && !isUploaded;\n\n const borderColor = error\n ? \"border-stroke-inverse-red-01 hover:border-stroke-inverse-red-02\"\n : isUploadingState\n ? \"border-stroke-static-blue-03\"\n : \"border-stroke-inverse-slate-03 hover:border-stroke-static-slate-04\";\n\n const bgColor = selectedFile\n ? \"bg-fill-inverse-slate-01\"\n : \"bg-input-outline-enabled hover:bg-input-outline-hovered\";\n\n return (\n <div className={cn(\"flex w-full flex-col gap-1\", className)}>\n {label && (\n <label\n htmlFor={id}\n className={cn(\n \"text-body-sm font-medium\",\n disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-default\"\n )}\n >\n {label}\n </label>\n )}\n\n {/* File Input Container */}\n <div\n className={cn(\n \"group rounded-unit-corner-radius-xl relative flex min-h-10 w-full items-center border transition-[color,box-shadow]\",\n borderColor,\n bgColor,\n {\n \"pointer-events-none cursor-not-allowed opacity-50\": disabled,\n \"focus-within:ring-1 focus-within:outline-none\": !disabled,\n \"focus-within:ring-effect-ring-destructive focus-within:border-stroke-inverse-red-02\":\n error && !disabled,\n \"focus-within:ring-effect-ring-primary focus-within:border-stroke-static-blue-03\":\n !error && !disabled && isUploadingState,\n }\n )}\n >\n <input\n ref={inputRef}\n type=\"file\"\n id={id}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n onChange={handleFileChange}\n className=\"hidden\"\n {...props}\n />\n\n {!selectedFile ? (\n /* Empty State - Choose File Button */\n <Button\n type=\"button\"\n onClick={handleChooseFile}\n disabled={disabled}\n variant=\"outline\"\n className={cn(\n \"h-full w-full justify-start gap-2 rounded-lg border-0 px-3 py-2 shadow-none\",\n error\n ? \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover\"\n : \"border-input-border-primaryDefault hover:border-input-border-primaryHover\"\n )}\n >\n <span className=\"w-[77px] font-semibold\">Choose file</span>\n <span className=\"text-element-inverse-disabled\">\n No file chosen\n </span>\n </Button>\n ) : (\n /* File Selected State */\n <div className=\"gap-x-unit-8px grid w-full grid-cols-4 px-3 py-2\">\n <div\n className={cn(\"gap-x-unit-10px col-span-3 flex items-center\", {\n \"col-span-2\": isUploadingState,\n \"cursor-pointer\": !disabled,\n })}\n onClick={!disabled ? handleChooseFile : undefined}\n role={!disabled ? \"button\" : undefined}\n tabIndex={!disabled ? 0 : undefined}\n onKeyDown={\n !disabled\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleChooseFile();\n }\n }\n : undefined\n }\n >\n {/* Choose file button (always visible) */}\n <p className=\"text-body-sm leading-body-sm text-element-inverse-default font-medium\">\n Selected\n </p>\n\n {/* File name */}\n <span\n className={cn(\n \"text-body-sm leading-body-sm min-w-0 max-w-[18ch] truncate flex-1 font-medium\",\n disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-default\"\n )}\n >\n {selectedFile.name}\n </span>\n </div>\n <div\n className={cn(\"col-span-1 flex items-center justify-end gap-2\", {\n \"col-span-2\": isUploadingState,\n })}\n >\n {/* File size */}\n <span\n className={cn(\n \"text-body-sm tracking-tight whitespace-nowrap\",\n disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-gray\"\n )}\n >\n {fileSize}\n </span>\n\n {/* Circular progress indicator */}\n {isUploadingState && (\n <ProgressIndicator\n variant=\"circle\"\n value={progressPercentage}\n />\n )}\n\n {/* Remove button */}\n {!disabled && onRemove && (\n <IconButton\n varient=\"ghost\"\n type=\"button\"\n onClick={handleRemove}\n aria-label=\"Remove file\"\n icon={<XIcon className=\"size-4\" />}\n />\n )}\n </div>\n </div>\n )}\n </div>\n\n {/* Helper Text */}\n {helperText && (\n <p\n className={cn(\n \"text-body-sm\",\n error\n ? \"text-element-inverse-red\"\n : disabled\n ? \"text-element-inverse-disabled\"\n : \"text-element-inverse-gray\"\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n );\n};\n","import { cn } from \"@/utils\";\nimport { cva } from \"class-variance-authority\";\nimport { Button, type ButtonProps } from \"@/ui/Button\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ntype IconButtonSize = \"xs\" | \"sm\" | \"md\" | \"lg\";\n\ninterface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon: React.ReactNode;\n disableTheme?: boolean;\n varient?: ButtonProps[\"variant\"];\n size?: IconButtonSize;\n active?: boolean;\n colorInFill?: boolean;\n rounded?: boolean;\n}\n\nconst iconButtonVariants = cva(\n \"cursor-pointer flex items-center justify-center disabled:pointer-events-none disabled:text-element-inverse-disabled\",\n {\n variants: {\n size: {\n xs: \"p-unit-4px rounded-unit-corner-radius-lg w-[26px] h-[26px]\",\n sm: \"p-unit-4px rounded-unit-corner-radius-lg w-7 h-7\",\n md: \"p-unit-10px rounded-unit-corner-radius-xl w-10 h-10\",\n lg: \"p-unit-12px rounded-unit-corner-radius-2xl w-12 h-12\",\n },\n active: {\n true: \"ring ring-offset-1 ring-stroke-inverse-blue-02! border border-stroke-inverse-slate-01 bg-menu-panel-selected-enabled \",\n },\n rounded: {\n true: \"!rounded-unit-corner-radius-rounded-full\",\n },\n },\n }\n);\n\nexport default function IconButton({\n icon,\n varient = \"primary\",\n size = \"sm\",\n rounded = false,\n active = false,\n className,\n colorInFill = true,\n disableTheme = false,\n ...props\n}: IconButtonProps) {\n const iconSize =\n size === \"xs\"\n ? \"xs\"\n : size === \"sm\"\n ? \"sm\"\n : size === \"md\"\n ? \"sm\"\n : size === \"lg\"\n ? \"md\"\n : \"md\";\n return (\n <Button\n type=\"button\"\n className={cn(iconButtonVariants({ size, rounded, active }), className)}\n variant={varient}\n {...props}\n >\n <IconContainer\n colorInFill={colorInFill}\n disableTheme={disableTheme}\n className={cn({\n // \"[&_path]:fill-element-inverse-disabled!\": props.disabled,\n })}\n size={iconSize}\n >\n {icon}\n </IconContainer>\n </Button>\n );\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\n\nconst progressIndicatorVariants = cva(\n \"transition-all duration-300 ease-in-out p-unit-2px\",\n {\n variants: {\n variant: {\n bar: \"relative w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700 h-4\",\n circle: \"relative inline-flex items-center justify-center w-16 h-16\",\n },\n },\n defaultVariants: {\n variant: \"bar\",\n },\n }\n);\n\nconst progressFillVariants = cva(\n \"transition-all duration-300 ease-in-out bg-blue-500\",\n {\n variants: {\n variant: {\n bar: \"h-full rounded-full\",\n circle: \"stroke-current stroke-linecap-round\",\n },\n },\n defaultVariants: {\n variant: \"bar\",\n },\n }\n);\n\nexport interface ProgressIndicatorProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof progressIndicatorVariants> {\n value: number;\n max?: number;\n showPercentage?: boolean;\n className?: string;\n}\n\nexport function ProgressIndicator({\n value,\n max = 100,\n showPercentage = true,\n className,\n variant,\n ...props\n}: ProgressIndicatorProps) {\n const percentage = Math.min(Math.max((value / max) * 100, 0), 100);\n\n if (variant === \"circle\") {\n const radius = 40; // Base radius for calculations\n const circumference = 2 * Math.PI * radius;\n const strokeDasharray = circumference;\n const strokeDashoffset = circumference - (percentage / 100) * circumference;\n\n return (\n <div className=\"flex h-5 w-[75px] items-center justify-start\">\n <div\n className={cn(progressIndicatorVariants({ variant }), className)}\n {...props}\n >\n <svg\n className=\"h-5 w-5 -rotate-90 transform\"\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n >\n {/* Background circle */}\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={20}\n className=\"text-element-inverse-disabled\"\n />\n {/* Progress circle */}\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={20}\n strokeDasharray={strokeDasharray}\n strokeDashoffset={strokeDashoffset}\n strokeLinecap=\"round\"\n className={cn(\n progressFillVariants({ variant }),\n \"text-element-static-blue\"\n )}\n />\n </svg>\n </div>\n\n {/* Percentage text to the right */}\n {showPercentage && (\n <span className=\"text-caption text-element-inverse-gray w-[50px] font-semibold\">\n {Math.round(percentage)}%\n </span>\n )}\n </div>\n );\n }\n\n // Bar variant\n return (\n <div className=\"w-full\">\n {/* Progress bar container */}\n <div className=\"flex items-center gap-3\">\n <div\n className={cn(\n progressIndicatorVariants({ variant }),\n \"flex-1\",\n className\n )}\n {...props}\n >\n <div\n className={cn(progressFillVariants({ variant }), className)}\n style={{ width: `${percentage}%` }}\n />\n </div>\n\n {/* Percentage text to the right */}\n {showPercentage && (\n <span className=\"text-caption text-element-inverse-gray font-semibold\">\n {Math.round(percentage)}%\n </span>\n )}\n </div>\n </div>\n );\n}\n","import { FilePlus, XIcon } from \"lucide-react\";\nimport { File } from \"magick-icons\";\nimport React, { createContext, useCallback, useContext, useState } from \"react\";\nimport { type FileRejection, useDropzone } from \"react-dropzone\";\nimport { truncateFileNameMid } from \"@/utils\";\nimport { Separator } from \"@radix-ui/react-separator\";\nimport { Button } from \"@/ui/Button\";\n\n// Constants\nconst FILE_SIZE_LIMIT_MB = 3; // 3MB\nconst DEFAULT_MAX_FILES = 10;\n\nconst ACCEPTED_FILE_TYPES: Record<string, string[]> = {\n \"application/pdf\": [\".pdf\"],\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": [\n \".docx\",\n ],\n \"application/msword\": [\".doc\"],\n \"image/*\": [\".png\", \".jpg\", \".jpeg\", \".gif\"],\n};\n\n// Context type\ninterface FileUploadContextType {\n errorMessage: string;\n isDragActive: boolean;\n isDragAccept: boolean;\n isDragReject: boolean;\n isFocused: boolean;\n getRootProps: any;\n getInputProps: any;\n handleRemoveFile: (fileName: string) => void;\n openFileDialog: () => void;\n showFileList?: boolean;\n acceptedFiles: File[];\n}\n\n// Create context\nconst FileUploadContext = createContext<FileUploadContextType | undefined>(\n undefined\n);\n\n// Context hook\nexport const useFileUpload = () => {\n const context = useContext(FileUploadContext);\n if (!context) {\n throw new Error(\"FileUpload components must be used within FileUpload\");\n }\n return context;\n};\n\n// Error message mapping\nconst getErrorMessage = (code: string, fileSizeLimit: number): string => {\n const errorMessages: Record<string, string> = {\n \"file-invalid-type\":\n \"Invalid file type. Only PDF, DOC, DOCX, and images are accepted.\",\n \"file-too-large\": `File size exceeds ${fileSizeLimit}MB limit.`,\n \"too-many-files\": \"Too many files selected.\",\n };\n return errorMessages[code] || \"An error occurred with the file upload.\";\n};\n\ninterface FileUploadProps {\n onDrop: (acceptedFiles: File[], rejectedFiles: FileRejection[]) => void;\n onDelete?: () => void;\n maxFiles?: number;\n isMultiple?: boolean;\n children: React.ReactNode;\n label?: string;\n CustomFileList?: React.ComponentType;\n fileSizeLimit?: number;\n acceptedFileTypes?: Record<string, string[]>;\n // Add react-hook-form props\n name?: string;\n value?: File[] | File;\n onChange?: (files: File[] | File | null) => void;\n onBlur?: () => void;\n disabled?: boolean;\n hasValidationError?: boolean;\n showFileList?: boolean;\n}\n\n// Main component\nconst FileUpload = ({\n onDrop,\n onDelete,\n maxFiles,\n isMultiple = false,\n children,\n label,\n CustomFileList,\n fileSizeLimit = FILE_SIZE_LIMIT_MB,\n acceptedFileTypes = ACCEPTED_FILE_TYPES,\n name,\n value,\n onChange,\n onBlur,\n disabled,\n hasValidationError,\n showFileList = false,\n}: FileUploadProps) => {\n const [errorMessage, setErrorMessage] = useState<string>(\"\");\n\n // Convert MB to bytes for useDropzone\n const fileSizeLimitInBytes =\n (fileSizeLimit ?? FILE_SIZE_LIMIT_MB) * 1024 * 1024;\n\n // Derive acceptedFiles from value prop (controlled mode)\n const acceptedFiles = React.useMemo(() => {\n if (value === undefined) {\n return [];\n }\n if (isMultiple) {\n return Array.isArray(value) ? value : [];\n }\n return value ? [value as File] : [];\n }, [value, isMultiple]);\n\n const handleRejectedFiles = useCallback(\n (rejectedFiles: FileRejection[]) => {\n if (rejectedFiles.length === 0) {\n setErrorMessage(\"\");\n return;\n }\n\n const error = rejectedFiles[0].errors[0];\n setErrorMessage(getErrorMessage(error.code, fileSizeLimit));\n },\n [fileSizeLimit]\n );\n\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n isFocused,\n open,\n } = useDropzone({\n onDrop: (accepted: File[], rejected: FileRejection[]) => {\n handleRejectedFiles(rejected);\n // Just pass the accepted files directly to parent - no internal state\n onDrop(accepted, rejected);\n\n // Call react-hook-form onChange if provided\n if (onChange) {\n if (isMultiple) {\n // For multiple, merge with existing value if provided\n const existingFiles = Array.isArray(value) ? value : [];\n const mergedFiles = [...existingFiles, ...accepted].filter(\n (file, index, self) =>\n index === self.findIndex((f) => f.name === file.name)\n );\n onChange(mergedFiles.length > 0 ? mergedFiles : null);\n } else {\n onChange(accepted.length > 0 ? accepted[0] : null);\n }\n }\n },\n accept: acceptedFileTypes,\n maxFiles: isMultiple ? maxFiles || DEFAULT_MAX_FILES : 1,\n maxSize: fileSizeLimitInBytes || FILE_SIZE_LIMIT_MB,\n noClick: false,\n disabled,\n });\n\n const handleRemoveFile = useCallback(\n (fileName: string) => {\n // Remove file from value prop (controlled mode)\n if (onChange) {\n if (isMultiple) {\n const existingFiles = Array.isArray(value) ? value : [];\n const updatedFiles = existingFiles.filter(\n (file) => file.name !== fileName\n );\n onChange(updatedFiles.length > 0 ? updatedFiles : null);\n } else {\n onChange(null);\n }\n }\n\n // Call onDrop with updated files for parent component\n const existingFiles = Array.isArray(value) ? value : [];\n const updatedFiles = existingFiles.filter(\n (file) => file.name !== fileName\n );\n onDrop(updatedFiles, []);\n onDelete?.();\n },\n [value, onDrop, onDelete, onChange, isMultiple]\n );\n\n return (\n <FileUploadContext.Provider\n value={{\n errorMessage:\n errorMessage || (hasValidationError ? \"This field is required\" : \"\"),\n isDragActive,\n isDragAccept,\n isDragReject,\n isFocused,\n getRootProps,\n getInputProps: () => ({\n ...getInputProps(),\n name,\n onBlur,\n \"aria-invalid\": hasValidationError || !!errorMessage,\n }),\n handleRemoveFile,\n openFileDialog: open,\n acceptedFiles,\n }}\n >\n <div className=\"relative w-full space-y-1\">\n <div className=\"flex flex-col gap-1\">\n <label htmlFor={name}>{label}</label>\n {children || <FileUpload.DropZone fileSizeLimit={fileSizeLimit} />}\n {CustomFileList ? (\n <CustomFileList />\n ) : showFileList ? (\n <FileUpload.FileList />\n ) : null}\n </div>\n <FileUpload.ErrorMessage />\n </div>\n </FileUploadContext.Provider>\n );\n};\n\n// Add new interface for render props\ninterface SimpleUploadRenderProps {\n acceptedFiles: File[];\n isFocused: boolean;\n openFileDialog: () => void;\n}\n\ninterface SimpleUploadProps {\n children?: React.ReactNode;\n className?: string;\n buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\n render?: (props: SimpleUploadRenderProps) => React.ReactNode;\n variant?: \"default\" | \"custom\";\n wrapperProps?: React.HTMLAttributes<HTMLDivElement>;\n}\n\nconst SimpleUpload = ({\n children,\n className,\n buttonProps,\n render,\n wrapperProps,\n}: SimpleUploadProps) => {\n const {\n openFileDialog,\n getInputProps,\n getRootProps,\n acceptedFiles,\n isFocused,\n errorMessage,\n } = useFileUpload();\n\n // Check if there's any error (validation or file upload error)\n const hasError = !!errorMessage;\n\n // If children are provided, render custom UI\n if (children) {\n return (\n <div className={className} onClick={openFileDialog} {...wrapperProps}>\n <input {...getInputProps()} />\n {children}\n </div>\n );\n }\n\n // If render prop is provided, render custom component\n if (render) {\n return (\n <div\n className={className}\n {...getRootProps()}\n onClick={(e) => {\n e.stopPropagation();\n openFileDialog();\n }}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n {typeof render === \"function\"\n ? render({\n acceptedFiles,\n isFocused,\n openFileDialog,\n })\n : render}\n </div>\n );\n }\n\n // Default button UI\n return (\n <div className={`flex items-center gap-2 ${className}`} {...wrapperProps}>\n <input {...getInputProps()} />\n\n <Button\n type=\"button\"\n onClick={openFileDialog}\n {...buttonProps}\n className={`${hasError ? \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover\" : \"border-input-border-primaryDefault hover:border-input-border-primaryHover\"} text-body-sm! flex w-full items-center justify-start gap-2 rounded-lg border px-3 py-2 shadow-none`}\n >\n <p className=\"text-element-inverse-default! w-[77px] font-semibold\">\n Choose file\n </p>\n <p className=\"text-element-inverse-disabled\">No file chosen</p>\n </Button>\n </div>\n );\n};\n\ninterface DropZoneRenderProps {\n isDragging: boolean;\n isDragAccept: boolean;\n isDragReject: boolean;\n acceptedFiles: File[];\n isFocused: boolean;\n openFileDialog: () => void;\n}\n\ninterface DropZoneProps {\n children?: React.ReactNode;\n className?: string;\n render?: (props: DropZoneRenderProps) => React.ReactNode;\n variant?: \"default\" | \"custom\";\n wrapperProps?: React.HTMLAttributes<HTMLDivElement>;\n fileSizeLimit?: number;\n}\n\n// Modify DropZone component\nconst DropZone = ({\n children,\n className,\n render,\n variant = \"default\",\n wrapperProps,\n // fileSizeLimit = FILE_SIZE_LIMIT_MB,\n}: DropZoneProps) => {\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n acceptedFiles,\n isFocused,\n openFileDialog,\n errorMessage,\n } = useFileUpload();\n\n // Check if there's any error (validation or file upload error)\n const hasError = !!errorMessage;\n\n // If children are provided, render custom UI\n if (children) {\n return (\n <div\n {...getRootProps()}\n className={`cursor-pointer ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n {children}\n </div>\n );\n }\n\n // If render prop is provided, use custom render function\n if (render) {\n return (\n <div\n {...getRootProps()}\n className={`cursor-pointer ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n {render({\n isDragging: isDragActive,\n isDragAccept,\n isDragReject,\n acceptedFiles,\n isFocused,\n openFileDialog,\n })}\n </div>\n );\n }\n\n // Custom variant\n if (variant === \"custom\") {\n return (\n <div\n {...getRootProps()}\n className={`cursor-pointer rounded-lg border-2 border-dashed p-8 transition-colors ${\n hasError\n ? \"border-input-border-destructiveHover\"\n : isDragActive\n ? \"border-primary bg-primary/5\"\n : \"hover:border-primary/50 border-gray-300\"\n } ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n <div className=\"space-y-4 text-center\">\n <div className=\"bg-primary/10 mx-auto w-fit rounded-full p-4\">\n <FilePlus className=\"text-primary size-8\" />\n </div>\n <div className=\"space-y-2\">\n <p className=\"text-xl font-medium\">\n {isDragActive ? \"Drop files here\" : \"Drag & Drop files\"}\n </p>\n <p className=\"text-muted-foreground text-sm\">\n or click to select files\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n // Default variant\n return (\n <div\n {...getRootProps()}\n className={`border-stroke-inverse-slate-04 rounded-unit-corner-radius-5xl cursor-pointer border border-dashed p-10 transition-colors focus:outline-none ${\n hasError\n ? \"border-input-border-destructiveHover\"\n : isDragActive\n ? \"border-blue-500 bg-gray-600\"\n : \"bg-fill-inverse-slate-03 hover:bg-fill-inverse-slate-04\"\n } ${className}`}\n {...wrapperProps}\n >\n <input {...getInputProps()} />\n <div className=\"text-muted-foreground w-full space-y-5 text-center\">\n <File className=\"mx-auto size-[44px]\" />\n <p\n className={`text-body-sm leading-body-sm ${isDragActive ? \"text-gray-100\" : \"text-element-inverse-default\"}`}\n >\n {isDragActive ? \"Drop the file here...\" : \"Drag and Drop files here\"}\n </p>\n <div className=\"gap-unit-10px flex w-full items-center justify-center\">\n <Separator className=\"border-stroke-inverse-slate-03 max-w-[60px] flex-1\" />\n <p className=\"text-caption leading-caption text-element-inverse-disabled font-medium\">\n OR\n </p>\n <Separator className=\"border-stroke-inverse-slate-03 max-w-[60px] flex-1\" />\n </div>\n <Button\n type=\"button\"\n variant=\"secondary\"\n className=\"mx-auto\"\n onClick={(e) => {\n // Prevent the click from also triggering the dropzone root onClick,\n // which causes the file picker to open twice.\n e.stopPropagation();\n openFileDialog();\n }}\n >\n Browse file\n </Button>\n </div>\n </div>\n );\n};\n\nconst FileList = () => {\n const { acceptedFiles, handleRemoveFile } = useFileUpload();\n\n if (acceptedFiles.length === 0) return null;\n\n return (\n <ul className=\"mb-1 space-y-1\">\n {acceptedFiles.map((file) => (\n <li\n key={file.name}\n className=\"border-input-border-primaryDefault hover:border-input-border-primaryHover flex h-9 items-center justify-between rounded-lg border px-3 py-2\"\n >\n <div className=\"flex items-center gap-2\">\n <p className=\"text-text-default w-[77px] font-semibold\">Selected</p>\n <p>{truncateFileNameMid(file.name)}</p>\n <p className=\"text-caption text-text-inactive\">\n {file.size < 1024 * 1024\n ? `${(file.size / 1024).toFixed(2)}KB`\n : `${(file.size / 1024 / 1024).toFixed(2)}MB`}\n </p>\n </div>\n <button\n onClick={() => handleRemoveFile(file.name)}\n className=\"hover:bg-button-bg-outlineHover cursor-pointer rounded\"\n >\n <XIcon className=\"text-icon-default size-4\" />\n </button>\n </li>\n ))}\n </ul>\n );\n};\n\nconst ErrorMessage = () => {\n const { errorMessage } = useFileUpload();\n\n if (!errorMessage) return null;\n\n return <p className=\"text-text-destructive mt-2 text-sm\">{errorMessage}</p>;\n};\n\nFileUpload.DropZone = DropZone;\nFileUpload.SimpleUpload = SimpleUpload;\nFileUpload.FileList = FileList;\nFileUpload.ErrorMessage = ErrorMessage;\n\nexport { FileUpload };\n\nexport type FieldProps = {\n name: string;\n label?: string;\n isMultiple?: boolean;\n maxFiles?: number;\n children?: React.ReactNode;\n};\n\nexport const FileUploadField = ({\n field,\n CustomFileList,\n onChange,\n value,\n fileSizeLimit = FILE_SIZE_LIMIT_MB, // in MB\n acceptedFileTypes = ACCEPTED_FILE_TYPES,\n ...props\n}: {\n field: {\n name: string;\n isMultiple?: boolean;\n maxFiles?: number;\n children?: React.ReactNode;\n };\n CustomFileList?: React.ComponentType;\n onChange?: (files: File[] | File | null) => void;\n value?: File[] | File;\n fileSizeLimit?: number; // in MB\n acceptedFileTypes?: Record<string, string[]>;\n // Add react-hook-form field props\n name?: string;\n onBlur?: () => void;\n disabled?: boolean;\n hasValidationError?: boolean;\n} & Omit<React.ComponentProps<typeof FileUpload>, \"onDrop\" | \"children\">) => {\n return (\n <FileUpload\n onDrop={(acceptedFiles) => {\n if (onChange) {\n onChange(field.isMultiple ? acceptedFiles : acceptedFiles[0]);\n }\n }}\n isMultiple={field.isMultiple}\n maxFiles={field.maxFiles}\n CustomFileList={CustomFileList}\n fileSizeLimit={fileSizeLimit}\n acceptedFileTypes={acceptedFileTypes}\n value={value}\n onChange={onChange}\n hasValidationError={props.hasValidationError}\n {...props}\n >\n {field.children || (\n <FileUpload.DropZone fileSizeLimit={fileSizeLimit} />\n ) || <FileUpload.SimpleUpload />}\n </FileUpload>\n );\n};\n\nFileUploadField.SimpleUpload = SimpleUpload;\nFileUploadField.DropZone = DropZone;\nFileUploadField.FileList = FileList;\nFileUploadField.ErrorMessage = ErrorMessage;\n","import { cn } from \"@/utils\";\n\nexport interface GradientContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n}\n\nexport function GradientContainer(props: GradientContainerProps) {\n const { className, children, ...rest } = props;\n return (\n <div\n className={cn(\"gradient-bg flex px-[2.3px] py-[2px]\", className)}\n {...rest}\n >\n {children}\n </div>\n );\n}\n\nGradientContainer.Background = function GradientContainerBackground(\n props: React.HTMLAttributes<HTMLDivElement>,\n) {\n const { className, ...rest } = props;\n return (\n <div\n className={cn(\"bg-fill-background h-full w-full\", className)}\n {...rest}\n />\n );\n};\n","import { cn } from \"@/utils\";\n\ninterface GridProps extends React.ComponentProps<\"div\"> {\n children: React.ReactNode;\n}\nexport default function Grid({ children, className, ...props }: GridProps) {\n return (\n <div className={cn(\"grid grid-cols-3 gap-4\", className)} {...props}>\n {children}\n </div>\n );\n}\n","import { cn } from \"@/utils\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport IconContainer from \"@/ui/IconContainer\";\n\n// Helper function to convert hex to RGB\nfunction hexToRgb(hex: string): [number, number, number] {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result\n ? [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n ]\n : [0, 0, 0];\n}\n\n// Color map with hex values (from design tokens 500 shade)\nconst COLOR_MAP = {\n red: { hex: \"#ef4444\", class: \"element-static-red\" },\n orange: { hex: \"#f97316\", class: \"element-static-orange\" },\n amber: { hex: \"#f59e0b\", class: \"element-static-amber\" },\n yellow: { hex: \"#eab308\", class: \"element-static-yellow\" },\n lime: { hex: \"#84cc16\", class: \"element-static-lime\" },\n green: { hex: \"#22c55e\", class: \"element-static-green\" },\n emerald: { hex: \"#10b981\", class: \"element-static-emerald\" },\n teal: { hex: \"#14b8a6\", class: \"element-static-teal\" },\n cyan: { hex: \"#06b6d4\", class: \"element-static-cyan\" },\n sky: { hex: \"#0ea5e9\", class: \"element-static-sky\" },\n blue: { hex: \"#3b82f6\", class: \"element-static-blue\" },\n indigo: { hex: \"#6366f1\", class: \"element-static-indigo\" },\n violet: { hex: \"#8b5cf6\", class: \"element-static-violet\" },\n purple: { hex: \"#a855f7\", class: \"element-static-purple\" },\n fuchsia: { hex: \"#d946ef\", class: \"element-static-fuchsia\" },\n pink: { hex: \"#ec4899\", class: \"element-static-pink\" },\n rose: { hex: \"#f43f5e\", class: \"element-static-rose\" },\n slate: { hex: \"#64748b\", class: \"element-static-slate\" },\n} as const;\n\n// Size configuration map\nconst SIZE_CONFIG = {\n 26: { iconSize: \"xs\" as const, backgroundScale: 1.5, borderRadius: 10 },\n 32: { iconSize: \"sm\" as const, backgroundScale: 1.8, borderRadius: 12 },\n 40: { iconSize: \"lg\" as const, backgroundScale: 1.5, borderRadius: 16 },\n 48: { iconSize: \"xl\" as const, backgroundScale: 1.6, borderRadius: 20 },\n 56: { iconSize: \"2xl\" as const, backgroundScale: 1.7, borderRadius: 20 },\n 64: { iconSize: \"3xl\" as const, backgroundScale: 1.6, borderRadius: 24 },\n} as const;\n\ntype ColorVariant = keyof typeof COLOR_MAP;\ntype SizeVariant = keyof typeof SIZE_CONFIG;\n\nexport type IconProfileProps = {\n /** The icon component to display */\n icon: ReactNode;\n /** Color variant for background glow and icon */\n color?: ColorVariant;\n /** Size variant in pixels */\n size?: SizeVariant;\n /** Additional className for the root container */\n className?: string;\n /** Whether the icon is external */\n externalIcon?: boolean;\n};\n\nexport default function IconProfile({\n icon,\n color = \"red\",\n size = 64,\n className,\n externalIcon = false,\n}: IconProfileProps) {\n const colorConfig = COLOR_MAP[color];\n const sizeConfig = SIZE_CONFIG[size];\n const [r, g, b] = hexToRgb(colorConfig.hex);\n const colorClass = `text-${colorConfig.class}`;\n\n return (\n <div\n className={cn(\"relative\", colorClass, className)}\n style={\n {\n \"--icon-profile-color\": `var(--color-${colorConfig.class}, rgb(${r}, ${g}, ${b}))`,\n } as CSSProperties\n }\n >\n <div\n className=\"relative isolate flex items-center justify-center\"\n style={{ width: size, height: size }}\n >\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <div\n className=\"pointer-events-none absolute inset-0\"\n style={{\n borderRadius: `${sizeConfig.borderRadius}px`,\n background: `radial-gradient(circle at 50% 35%, rgba(${r}, ${g}, ${b}, 0.35) 0%, rgba(${r}, ${g}, ${b}, 0.22) 45%, rgba(${r}, ${g}, ${b}, 0) 80%)`,\n }}\n />\n <div\n className=\"pointer-events-none absolute inset-0\"\n style={{\n borderRadius: `${sizeConfig.borderRadius}px`,\n backgroundColor: `rgba(${r}, ${g}, ${b}, 0.2)`,\n transformOrigin: \"center center\",\n }}\n />\n </div>\n\n <div\n className=\"absolute inset-0\"\n style={{\n borderRadius: `${sizeConfig.borderRadius}px`,\n boxShadow:\n \"var(--unit-blur-none, 0) var(--unit-blur-xs, 16px) var(--unit-blur-md, 40px) var(--unit-blur-none, 0) var(--opacity-static-01, rgba(0, 0, 0, 0.08))\",\n backdropFilter: \"blur(calc(var(--unit-blur-xl, 72px) / 2))\",\n }}\n />\n\n <div className=\"absolute inset-0 z-10 flex items-center justify-center\">\n <IconContainer\n colorInFill={false}\n size={sizeConfig.iconSize}\n className={cn(\n !externalIcon ? \"[&_path]:!fill-[var(--iconColor)]\" : \"\",\n )}\n style={\n {\n [\"--iconColor\"]: `var(--color-${colorConfig.class})`,\n } as CSSProperties & { [\"--iconColor\"]: string }\n }\n >\n {icon}\n </IconContainer>\n </div>\n </div>\n </div>\n );\n}\n","import { CheckCheck, Copy, X } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/utils\";\n\ntype Props = React.ComponentProps<\"input\"> & {\n label?: string;\n error?: boolean;\n variant?: \"ghost\" | \"outline\";\n inlineItemsNode?: React.ReactNode;\n prefixNode?: {\n node: React.ReactNode;\n withBorder?: boolean;\n className?: string;\n };\n suffixNode?: {\n node: React.ReactNode;\n withBorder?: boolean;\n className?: string;\n };\n includeCopy?: boolean;\n includeClear?: boolean;\n inputClassName?: string;\n};\n\nexport const Input = ({\n className,\n type = \"text\",\n label,\n variant = \"outline\",\n prefixNode,\n suffixNode,\n inlineItemsNode,\n includeCopy = false,\n includeClear = false,\n inputClassName,\n ...props\n}: Props) => {\n const [showCopy, setShowCopy] = React.useState(false);\n const [onFocus, setOnFocus] = React.useState(false);\n const [showClear, setShowClear] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const error = props[\"aria-invalid\"] || false;\n\n function handleClear(e: React.MouseEvent) {\n e.preventDefault();\n props.onChange?.({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n\n const mutatedProps: React.ComponentProps<\"input\"> = {\n ...props,\n onBlur: (e) => {\n if (props.disabled) return;\n props.onBlur && props.onBlur(e);\n setOnFocus(false);\n },\n };\n\n return (\n <div\n onMouseEnter={() => {\n if (props.disabled) return;\n setShowClear(true);\n if (!onFocus) {\n setShowCopy(true);\n }\n }}\n onMouseLeave={() => {\n if (props.disabled) return;\n setShowClear(false);\n setShowCopy(false);\n }}\n className={cn(\n \"group text-element-inverse-default placeholder:text-element-inverse-disabled relative flex min-h-10 w-full items-center\",\n \"rounded-unit-corner-radius-xl min-w-0 border transition-[color,box-shadow]\",\n {\n /* Outline State */\n \"hover:border-stroke-static-slate-04 border-stroke-inverse-slate-03 bg-input-outline-enabled hover:bg-input-outline-hovered\":\n variant === \"outline\" && !error,\n\n /* Outline On Focus */\n \"focus-within:hover:border-stroke-static-blue-03 focus-within:border-stroke-static-blue-03 focus-within:ring-0 focus-within:outline-none\":\n variant === \"outline\" && !error,\n\n /* Ghost State */\n \"hover:bg-input-ghost-hovered bg-input-ghost-enabled border-transparent\":\n variant === \"ghost\" && !error,\n\n /* Error State */\n \"border-stroke-inverse-red-01 hover:border-stroke-inverse-red-02 text-element-inverse-red\":\n error && !props.disabled,\n\n /* Error On Focus */\n // \"focus-within:border-input-border-destructiveHover focus-within:ring-effect-ring-destructive text-text-destructive focus-within:ring-2\":\n error,\n\n /* Disable State */\n \"text-element-inverse-disabled pointer-events-none cursor-not-allowed\":\n props.disabled,\n\n \"bg-input-outline-disabled border-stroke-inverse-slate-03\":\n props.disabled && variant === \"outline\",\n \"bg-input-ghost-disabled\": props.disabled && variant === \"ghost\",\n },\n className\n )}\n >\n {type === \"url\" && (\n <div className=\"border-border-primary-light flex h-full items-center justify-center border-r px-3\">\n <p className=\"text-body-sm leading-body-sm text-text-inactive font-medium\">\n https://\n </p>\n </div>\n )}\n\n {prefixNode && (\n <div\n className={cn(\n {\n \"border-border-primary-light hover:bg-surface-bg flex h-full cursor-pointer items-center justify-center overflow-x-auto rounded-l-lg border-r\":\n prefixNode.withBorder,\n \"pl-3\": !prefixNode.withBorder && !inlineItemsNode,\n },\n prefixNode.className\n )}\n >\n {prefixNode.node}\n </div>\n )}\n\n <div\n className={cn(\"relative h-full w-full\", {\n \"flex flex-wrap items-center\": inlineItemsNode,\n })}\n >\n {inlineItemsNode}\n <input\n ref={inputRef}\n type={type}\n id={props.id + (label || \"\")}\n onFocus={() => {\n if (props.disabled) return;\n setOnFocus(true);\n setShowCopy(false);\n }}\n data-slot=\"input\"\n className={cn(\n \"peer leading-body-sm text-medium text-body-sm flex h-full w-full appearance-none rounded-lg bg-transparent px-2.5 py-1.5 font-medium outline-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none\",\n \"selection:bg-primary-bg-light selection:text-text-default\",\n \"placeholder:text-body-sm placeholder:leading-body-sm placeholder:text-text-inactive placeholder:font-medium\",\n inputClassName,\n\n {\n \"rounded-l-none pl-2\": prefixNode,\n \"rounded-r-none pr-2\": suffixNode,\n \"text-text-secondary\": type === \"email\",\n \"text-text-destructive\": error,\n \"mx-1 inline-block h-auto w-full rounded-lg\": inlineItemsNode,\n }\n )}\n {...mutatedProps}\n value={props.value}\n />\n {props.value && (\n <div className=\"absolute top-0 right-2 flex h-full items-center gap-2 peer-disabled:hidden\">\n {includeCopy && (\n <button\n tabIndex={-1}\n data-showcopy={showCopy}\n className=\"hover:bg-primary-bg-soft flex h-[20px] w-[20px] items-center justify-center rounded-sm bg-white opacity-0 transition-opacity duration-200 data-[showCopy=true]:opacity-100\"\n >\n <CopyIcon value={props.value as string} />\n </button>\n )}\n\n {includeClear && (\n <button\n tabIndex={-1}\n data-showclear={showClear}\n className=\"hover:bg-primary-bg-soft flex h-[20px] w-[20px] items-center justify-center rounded-sm bg-white opacity-0 transition-opacity duration-200 data-[showClear=true]:opacity-100\"\n >\n <X\n onClick={(e) => {\n handleClear(e);\n }}\n className=\"cursor-pointer\"\n size={18}\n />\n </button>\n )}\n </div>\n )}\n </div>\n\n {suffixNode && (\n <div\n className={cn(\n {\n \"border-border-primary-light hover:bg-surface-bg flex h-full cursor-pointer items-center justify-center rounded-r-lg border-l\":\n suffixNode.withBorder,\n \"pr-3\": !suffixNode.withBorder,\n },\n suffixNode.className\n )}\n >\n {suffixNode.node}\n </div>\n )}\n </div>\n );\n};\n\nfunction CopyIcon({ value }: { value: string }) {\n const [isCopy, setIsCopy] = React.useState(false);\n\n function handleCopy(e: React.MouseEvent) {\n e.preventDefault();\n try {\n navigator.clipboard.writeText(value as string);\n setIsCopy(true);\n\n setTimeout(() => {\n setIsCopy(false);\n }, 1200);\n } catch (error) {\n setIsCopy(false);\n console.error(error);\n }\n }\n\n return (\n <>\n {!isCopy ? (\n <Copy className=\"cursor-pointer\" onClick={handleCopy} size={18} />\n ) : (\n <CheckCheck className=\"cursor-pointer\" size={18} />\n )}\n </>\n );\n}\n","import { cn } from \"@/utils\";\nimport IconContainer from \"@/ui/IconContainer\";\n\ninterface LinkButtonProps extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n \"prefix\" | \"suffix\"\n> {\n children: React.ReactNode;\n href: string;\n isLink?: boolean;\n prefixIcon?: React.ReactNode;\n suffixIcon?: React.ReactNode;\n}\n\nexport default function LinkButton({\n children,\n href,\n isLink = true,\n prefixIcon,\n suffixIcon,\n className,\n ...props\n}: LinkButtonProps) {\n const onClickInternalLink = () => {\n window.open(href, \"_blank\");\n };\n\n return (\n <button\n aria-label={`Open ${href}`}\n role=\"link\"\n type=\"button\"\n className={cn(\n \"text-body-sm text-element-inverse-blue [&>path]:fill-element-inverse-blue gap-x-unit-4px leading-body-sm flex cursor-pointer items-center font-medium underline hover:underline\",\n className,\n )}\n onClick={isLink ? onClickInternalLink : props.onClick}\n {...props}\n >\n {prefixIcon && (\n <IconContainer className=\"[&_path]:fill-element-inverse-blue shrink-0\">\n {prefixIcon}\n </IconContainer>\n )}\n <div className=\"inherit\">{children}</div>\n {suffixIcon && (\n <IconContainer className=\"[&_path]:fill-element-inverse-blue shrink-0\">\n {suffixIcon}\n </IconContainer>\n )}\n </button>\n );\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Pause, Play } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport IconButton from \"@/ui/IconButton\";\n\nexport interface MediaProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof mediaVariants> {\n src: string;\n alt?: string;\n type?: \"image\" | \"video\";\n aspectRatio?: \"1:1\" | \"16:9\" | \"9:16\" | \"4:3\" | \"3:4\";\n showPlayButton?: boolean;\n onPlay?: () => void;\n onPause?: () => void;\n isPlaying?: boolean;\n loading?: \"lazy\" | \"eager\";\n objectFit?: \"cover\" | \"contain\" | \"fill\" | \"scale-down\" | \"none\";\n}\n\nconst mediaVariants = cva(\n \"relative overflow-hidden bg-gray-100 dark:bg-gray-800\",\n {\n variants: {\n aspectRatio: {\n \"1:1\": \"aspect-square\",\n \"16:9\": \"aspect-video\",\n \"9:16\": \"aspect-[9/16]\",\n \"4:3\": \"aspect-[4/3]\",\n \"3:4\": \"aspect-[3/4]\",\n },\n rounded: {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n \"2xl\": \"rounded-2xl\",\n full: \"rounded-full\",\n },\n },\n defaultVariants: {\n aspectRatio: \"16:9\",\n rounded: \"md\",\n },\n },\n);\n\nconst Media = React.forwardRef<HTMLDivElement, MediaProps>(\n (\n {\n className,\n src,\n alt = \"\",\n type = \"image\",\n aspectRatio,\n showPlayButton = true,\n onPlay,\n onPause,\n isPlaying = false,\n loading = \"lazy\",\n objectFit = \"cover\",\n rounded,\n ...props\n },\n ref,\n ) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const [imageLoaded, setImageLoaded] = React.useState(false);\n const [imageError, setImageError] = React.useState(false);\n const [videoPlaying, setVideoPlaying] = React.useState(false);\n const videoRef = React.useRef<HTMLVideoElement>(null);\n\n const handlePlay = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (videoRef.current) {\n videoRef.current.play();\n setVideoPlaying(true);\n }\n if (onPlay) {\n onPlay();\n }\n };\n\n const handlePause = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (videoRef.current) {\n videoRef.current.pause();\n setVideoPlaying(false);\n }\n if (onPause) {\n onPause();\n }\n };\n\n const handleVideoPlay = () => {\n setVideoPlaying(true);\n if (onPlay) {\n onPlay();\n }\n };\n\n const handleVideoPause = () => {\n setVideoPlaying(false);\n if (onPause) {\n onPause();\n }\n };\n\n // Sync external isPlaying prop with internal state\n React.useEffect(() => {\n if (type === \"video\" && videoRef.current) {\n if (isPlaying && videoRef.current.paused) {\n videoRef.current.play();\n } else if (!isPlaying && !videoRef.current.paused) {\n videoRef.current.pause();\n }\n }\n }, [isPlaying, type]);\n\n const handleImageLoad = () => {\n setImageLoaded(true);\n };\n\n const handleImageError = () => {\n setImageError(true);\n };\n\n return (\n <div\n ref={ref}\n className={cn(mediaVariants({ aspectRatio, rounded }), className)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n {...props}\n >\n {type === \"image\" ? (\n <>\n <img\n src={src}\n alt={alt}\n loading={loading}\n onLoad={handleImageLoad}\n onError={handleImageError}\n className={cn(\n \"block h-full w-full transition-opacity duration-300\",\n {\n \"opacity-0\": !imageLoaded && !imageError,\n \"opacity-100\": imageLoaded,\n },\n )}\n style={{ objectFit }}\n />\n {!imageLoaded && !imageError && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600\"></div>\n </div>\n )}\n {imageError && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700\">\n <div className=\"text-center text-gray-500\">\n <div className=\"text-2xl\">📷</div>\n <div className=\"text-sm\">Failed to load</div>\n </div>\n </div>\n )}\n </>\n ) : (\n <>\n <video\n ref={videoRef}\n src={src}\n className=\"block h-full w-full\"\n style={{ objectFit }}\n onPlay={handleVideoPlay}\n onPause={handleVideoPause}\n onEnded={() => setVideoPlaying(false)}\n preload=\"metadata\"\n />\n {showPlayButton && (\n <div\n className={cn(\n \"absolute inset-0 flex items-center justify-center bg-black/20 transition-all duration-200 hover:bg-black/30\",\n {\n \"opacity-100\": isHovered || videoPlaying,\n \"opacity-0\": !isHovered && !videoPlaying,\n },\n )}\n >\n <IconButton\n icon={\n videoPlaying ? (\n <Pause className=\"text-gray-900\" />\n ) : (\n <Play className=\"ml-1 text-gray-900\" />\n )\n }\n onClick={videoPlaying ? handlePause : handlePlay}\n varient=\"outline\"\n size=\"md\"\n rounded={true}\n aria-label={videoPlaying ? \"Pause video\" : \"Play video\"}\n className=\"!h-16 !w-16 !bg-white !shadow-lg transition-all duration-200 hover:!scale-110 hover:!shadow-xl\"\n />\n </div>\n )}\n </>\n )}\n </div>\n );\n },\n);\n\nMedia.displayName = \"Media\";\n\nexport { Media, mediaVariants };\n","import { cn } from \"@/utils\";\nimport { ChevronDown, CircleXIcon, X } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"@/ui/Button\";\nimport { Chip } from \"@/ui/Chip\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/ui/Popover\";\n\nexport interface Option {\n label: string;\n value: string;\n}\n\ninterface MultiSelectProps {\n options: Option[];\n selected: string[];\n onChange: (selected: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n createConfig?: {\n enabled: boolean;\n action: (inputValue: string) => Promise<void>;\n isLoading?: boolean;\n };\n className?: string;\n error?: boolean;\n}\n\nexport function MultiSelect({\n options,\n selected,\n onChange,\n placeholder = \"Select\",\n disabled = false,\n createConfig,\n className,\n error = false,\n}: MultiSelectProps) {\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(\"\");\n const inputRef = React.useRef<HTMLInputElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n const handleUnselect = (value: string) => {\n onChange(selected.filter((s) => s !== value));\n };\n\n const handleSelect = (value: string) => {\n if (!selected.includes(value)) {\n onChange([...selected, value]);\n }\n setInputValue(\"\");\n setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleCreate = async () => {\n if (\n inputValue.trim() &&\n !options.find(\n (option) =>\n option.value.toLowerCase() === inputValue.toLowerCase().trim(),\n )\n ) {\n try {\n await createConfig?.action?.(inputValue.trim());\n onChange([...selected, inputValue.trim()]);\n setInputValue(\"\");\n setTimeout(() => inputRef.current?.focus(), 0);\n } catch (error) {\n console.error(\"Failed to create item:\", error);\n }\n }\n };\n\n const handleKeyDown = async (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" && inputValue.trim()) {\n e.preventDefault();\n const existingOption = options.find(\n (option) =>\n option.label.toLowerCase() === inputValue.toLowerCase().trim(),\n );\n if (existingOption && !selected.includes(existingOption.value)) {\n handleSelect(existingOption.value);\n } else if (createConfig?.enabled) {\n await handleCreate();\n }\n } else if (e.key === \"Backspace\" && !inputValue && selected.length > 0) {\n e.preventDefault();\n handleUnselect(selected[selected.length - 1]);\n } else if (e.key === \"Escape\") {\n setOpen(false);\n inputRef.current?.blur();\n }\n };\n\n const filteredOptions = React.useMemo(() => {\n return options.filter(\n (option) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase()) &&\n !selected.includes(option.value),\n );\n }, [options, inputValue, selected]);\n\n const canCreate =\n createConfig?.enabled &&\n inputValue.trim() &&\n !options.find(\n (option) =>\n option.value.toLowerCase() === inputValue.toLowerCase().trim(),\n ) &&\n !selected.includes(inputValue.trim());\n\n const handleInputFocus = () => {\n setOpen(true);\n };\n\n const handleContainerClick = (e: React.MouseEvent) => {\n e.preventDefault();\n inputRef.current?.focus();\n };\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div\n ref={containerRef}\n className={cn(\n \"border-input-border-primaryDefault text-text-default bg-input-bg-default text-body-sm hover:border-input-border-primaryHover flex min-h-9 w-full cursor-text items-center justify-between gap-1 rounded-lg border px-3 py-1 font-medium focus-within:[box-shadow:var(--ring-position-x,0px)_var(--ring-position-y,0px)_var(--ring-blur,0px)_var(--ring-spread-sm,1px)_var(--color-effect-ring-primary)]\",\n error &&\n \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover focus-within:[box-shadow:var(--ring-position-x,0px)_var(--ring-position-y,0px)_var(--ring-blur,0px)_var(--ring-spread-sm,2px)_var(--color-effect-ring-destructive)]\",\n disabled &&\n \"bg-input-bg-inactive hover:border-input-border-primaryDefault text-text-inactive cursor-not-allowed\",\n className,\n )}\n onClick={handleContainerClick}\n >\n <div className=\"flex flex-1 flex-wrap items-center gap-1\">\n {selected.map((value) => {\n const option = options.find((opt) => opt.value === value);\n return (\n <Chip\n key={value}\n label={option?.label || value}\n onClick={(e) => {\n e.stopPropagation();\n handleUnselect(value);\n }}\n className={cn(\n disabled && \"pointer-events-none cursor-not-allowed\",\n )}\n >\n <X className=\"hover:text-destructive ml-1.5 h-3 w-3 cursor-pointer\" />\n </Chip>\n );\n })}\n <input\n ref={inputRef}\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={handleInputFocus}\n placeholder={\n selected.length === 0\n ? createConfig?.enabled\n ? \"Select or create one\"\n : placeholder\n : \"\"\n }\n className=\"placeholder:text-muted-foreground min-w-[8rem] flex-1 bg-transparent outline-none\"\n disabled={disabled}\n />\n </div>\n {selected.length > 0 && (\n <CircleXIcon\n className=\"text-icon-default size-4.5 shrink-0\"\n onClick={() => onChange([])}\n />\n )}\n {!createConfig?.enabled && (\n <ChevronDown className=\"text-icon-default size-4.5 shrink-0\" />\n )}\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"shadow-box w-[var(--radix-popover-trigger-width)] border-none bg-white p-2\"\n align=\"start\"\n >\n <div className=\"p-0\">\n <div className=\"max-h-[300px] overflow-y-auto\">\n {filteredOptions.length === 0 && !canCreate ? (\n <div className=\"py-6 text-center text-gray-500\">\n {inputValue ? \"No results found.\" : \"Start typing to search...\"}\n </div>\n ) : (\n <div className=\"flex flex-col gap-1.5 px-1.5 pt-1.5 pb-0.5\">\n {createConfig?.enabled && (\n <p className=\"text-text-default pb-0.5 font-semibold\">\n Select or create one\n </p>\n )}\n {filteredOptions.map((option) => (\n <Chip\n label={option.label}\n key={option.value}\n onClick={() => handleSelect(option.value)}\n className=\"rounded-md\"\n />\n ))}\n {canCreate && (\n <div\n onClick={async () => await handleCreate()}\n className=\"flex items-center justify-between\"\n >\n <Chip label={inputValue.trim()} className=\"rounded-md\" />\n <Button\n variant=\"ghost\"\n size=\"sm\"\n state={createConfig?.isLoading ? \"loading\" : \"default\"}\n >\n Create new\n </Button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n","import { cn } from \"@/utils\";\nimport {\n OTPInput as BaseOTPInput,\n OTPInputContext as BaseOTPInputContext,\n} from \"input-otp\";\nimport * as React from \"react\";\n\ntype OTPInputProps = Omit<\n React.ComponentProps<typeof InputOTP>,\n \"type\" | \"render\"\n> & {\n type?: 4 | 6 | 8;\n separate?: boolean;\n disabled?: boolean;\n className?: string;\n};\n\nexport function OTPInput({\n type = 4,\n separate = false,\n disabled = false,\n className,\n ...props\n}: OTPInputProps) {\n return (\n <div className={cn(className)}>\n <InputOTP disabled={disabled} className=\"w-full\" {...props}>\n <InputOTPGroup className=\"w-full\">\n {[...new Array(type / 2)].map((_, index) => (\n <InputOTPSlot\n className=\"w-full\"\n key={index}\n index={index}\n disabled={disabled}\n />\n ))}\n </InputOTPGroup>\n {separate && <InputOTPSeparator />}\n <InputOTPGroup className=\"w-full\">\n {[...new Array(type / 2)].map((_, index) => (\n <InputOTPSlot\n key={index}\n className=\"w-full\"\n index={index + type / 2}\n disabled={disabled}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n </div>\n );\n}\n\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof BaseOTPInput> & {\n containerClassName?: string;\n}) {\n return (\n <BaseOTPInput\n data-slot=\"input-otp\"\n containerClassName={cn(\"flex items-center gap-1\", containerClassName)}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n );\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\"flex items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction InputOTPSlot({\n index,\n className,\n disabled = false,\n placeholder = \"0\",\n ...props\n}: React.ComponentProps<\"div\"> & {\n index: number;\n disabled?: boolean;\n placeholder?: string;\n}) {\n const inputOTPContext = React.useContext(BaseOTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n \"text-text-default data-[active=true]:border-input-border-primaryHover border-input-border-primaryDefault data-[active=true]:ring-effect-ring-primary data-[active=true]:aria-invalid:ring-destructive/20 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive relative flex size-11 items-center justify-center rounded-2xl border font-bold transition-all outline-none data-[active=true]:z-10 data-[active=true]:ring-[2px]\",\n className,\n {\n \"bg-input-bg-inactive\": disabled,\n \"text-text-inactive\": !char,\n },\n )}\n {...props}\n >\n <span className=\"text-h6\">{char || placeholder}</span>\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"input-otp-separator\" role=\"separator\" {...props}>\n <div className=\"bg-border-primary-normal h-0.5 w-2\" />\n </div>\n );\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Eye, EyeOff } from \"lucide-react\";\n\ntype Props = React.ComponentProps<\"input\"> & {\n label?: string;\n};\n\nexport const PasswordInput = React.memo(\n ({ type, label, className, ...props }: Props) => {\n const [showPassword, setShowPassword] = React.useState(false);\n\n const error = props[\"aria-invalid\"] || false;\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n return (\n <div\n className={cn(\n \"group relative flex items-center gap-2\",\n \"min-w-0 rounded-lg border transition-[color,box-shadow]\",\n {\n /* Default State */\n \"hover:border-input-border-primaryHover border-input-border-primaryDefault\":\n !error,\n\n /* Default On Focus */\n \"focus-within:ring-effect-ring-primary focus-within:border-input-border-primaryHover focus-within:ring-2 focus-within:outline-none\":\n !error,\n\n /* Error State */\n \"border-input-border-destructiveDefault hover:border-input-border-destructiveHover text-text-destructive\":\n error && !props.disabled,\n\n /* Error On Focus */\n \"focus-within:border-input-border-destructiveHover focus-within:ring-effect-ring-destructive text-text-destructive focus-within:ring-2\":\n error,\n\n /* Disable State */\n \"bg-input-bg-inactive text-text-inactive border-input-border-primaryDefault pointer-events-none cursor-not-allowed\":\n props.disabled,\n },\n )}\n >\n <input\n ref={inputRef}\n id={props.id + (label || \"\")}\n type={showPassword ? \"text\" : \"password\"}\n data-slot=\"input\"\n className={cn(\n \"leading-body-sm text-text-default md:text-body-sm flex h-full w-full rounded-lg bg-transparent py-2 pr-10 pl-3 text-sm font-medium outline-none\",\n \"selection:bg-primary selection:text-primary-foreground\",\n \"placeholder:text-body-sm placeholder:leading-body-sm placeholder:text-text-inactive placeholder:font-medium\",\n {\n \"text-text-destructive\": error,\n },\n className,\n )}\n {...props}\n value={props.value}\n onBlur={(e) => {\n if (props.disabled) return;\n props.onBlur?.(e);\n }}\n />\n <button\n tabIndex={-1}\n data-slot=\"show-password\"\n type=\"button\"\n onClick={() => setShowPassword(!showPassword)}\n aria-label={showPassword ? \"Hide password\" : \"Show password\"}\n className=\"hover:bg-primary-bg-soft absolute right-2 flex h-5 w-5 cursor-pointer items-center justify-center rounded-sm bg-white\"\n >\n {showPassword ? (\n <Eye size={16} className=\"text-element-inverse-default-alt\" />\n ) : (\n <EyeOff size={16} className=\"text-element-inverse-default-alt\" />\n )}\n </button>\n </div>\n );\n },\n);\n","import { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\nimport type { RadioGroupProps } from \"@radix-ui/react-radio-group\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { CircleIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\ntype Option = {\n label: string | React.ReactNode;\n value: string;\n};\n\ninterface RadioProps extends Omit<\n React.ComponentProps<\n React.ForwardRefExoticComponent<\n RadioGroupProps & React.RefAttributes<HTMLDivElement>\n >\n >,\n \"onChange\" | \"onSelect\"\n> {\n onSelect?: (value: string) => void;\n options: Option[];\n}\n\nfunction Radio({ onSelect, options, ...props }: RadioProps) {\n return (\n <BaseRadioGroup {...props}>\n {options.map((option) => {\n return (\n <Label\n htmlFor={option.value}\n key={option.value}\n className=\"hover:bg-surface-bg flex cursor-pointer items-center gap-x-2 rounded-lg p-1.5\"\n >\n <BaseRadioGroupItem\n onClick={() => {\n onSelect?.(option.value.toString());\n }}\n id={option.value}\n value={option.value}\n />\n {option.label}\n </Label>\n );\n })}\n </BaseRadioGroup>\n );\n}\n\nexport { Radio };\n\nfunction BaseRadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={className}\n {...props}\n />\n );\n}\n\nfunction BaseRadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-border-primary-light group data-[state=checked]:border-border-secondary-normal data-[state=checked]:hover:border-border-secondary-dark bg-surface-bg-container hover:bg-primary-bg-soft text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-[20px] shrink-0 cursor-pointer rounded-full border-[2px] shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-check-box-and-radio-checked-enabled group-data-[state=checked]:hover:fill-check-box-and-radio-checked-hovered absolute top-1/2 left-1/2 size-[16px] -translate-x-1/2 -translate-y-1/2 stroke-none\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n","import { cn } from \"@/utils\";\nimport { Input } from \"@/ui/Input\";\nimport { debounce } from \"lodash\";\nimport { SearchIcon } from \"lucide-react\";\nimport { useQueryState } from \"nuqs\";\nimport { useCallback, useEffect, useState } from \"react\";\n\ninterface SearchInputProps extends React.ComponentProps<typeof Input> {\n searchKey: string;\n placeholder?: string;\n debounceDelay?: number;\n className?: string;\n addToParam?: boolean;\n}\n\nexport function SearchInput({\n searchKey,\n placeholder = \"Search by...\",\n debounceDelay = 500,\n className,\n addToParam = true,\n ...props\n}: SearchInputProps) {\n const [search, setSearch] = useQueryState(searchKey, {\n defaultValue: \"\",\n });\n const [inputValue, setInputValue] = useState(search ?? \"\");\n\n const debouncedSetValue = useCallback(\n debounce((value: string | null) => {\n if (addToParam) {\n setSearch(value);\n } else {\n setInputValue(value ?? \"\");\n }\n }, debounceDelay),\n [debounceDelay, addToParam, setSearch],\n );\n\n useEffect(() => {\n debouncedSetValue(inputValue);\n return () => {\n debouncedSetValue.cancel();\n };\n }, [inputValue, debouncedSetValue]);\n\n return (\n <div className={cn(\"relative\", className)}>\n <Input\n onChange={(e) => {\n const value = e.target.value;\n setInputValue(value);\n }}\n placeholder={placeholder}\n prefixNode={{\n node: <SearchIcon className=\"text-element-inverse-default\" />,\n withBorder: false,\n }}\n value={inputValue}\n className={cn(\"border-stroke-inverse-slate-03 w-full\", className)}\n {...props}\n />\n </div>\n );\n}\n","\"use client\";\n\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/ui/Popover\";\nimport { cn } from \"@/utils\";\nimport { Check } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"@/ui/Button\";\n\ninterface SelectHoverProps {\n options: { label: string | React.ReactNode; value: string }[];\n placeholder?: string;\n value?: string;\n onChange?: (value: string) => void;\n className?: string;\n}\n\nexport function SelectHover({\n options,\n placeholder = \"Select an option\",\n value,\n onChange,\n className,\n}: SelectHoverProps) {\n const [isOpen, setIsOpen] = React.useState(false);\n const timeoutRef = React.useRef<NodeJS.Timeout | null>(null);\n\n const handleSelect = (optionValue: string) => {\n onChange?.(optionValue);\n setIsOpen(false);\n };\n\n const selectedOption = options.find((option) => option.value === value);\n\n const handleMouseEnter = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setIsOpen(true);\n };\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setIsOpen(false);\n }, 300);\n };\n\n return (\n <Popover open={isOpen} onOpenChange={setIsOpen}>\n <div onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n <PopoverTrigger asChild>\n <Button role=\"combobox\" aria-expanded={isOpen} className={className}>\n <span className=\"truncate\">\n {selectedOption ? selectedOption.label : placeholder}\n </span>\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"bg-surface-bg-container w-full rounded-3xl border-none p-2 shadow-md\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"flex max-h-[300px] flex-col items-start gap-[2px] overflow-auto\">\n {options.map((option) => (\n <button\n key={option.value}\n className={cn(\n \"hover:bg-dropdown-bg-hover text-body-sm relative flex w-full cursor-pointer items-center rounded-lg p-[6px] outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n value === option.value && \"bg-dropdown-bg-hover\",\n )}\n onClick={() => handleSelect(option.value)}\n >\n <span className=\"flex-1\">{option.label}</span>\n {value === option.value && (\n <Check className=\"text-icon-secondary ml-2 h-4 w-4\" />\n )}\n </button>\n ))}\n </div>\n </PopoverContent>\n </div>\n </Popover>\n );\n}\n","import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\ntype SelectRootProps = React.ComponentProps<typeof SelectPrimitive.Root> &\n Omit<React.HTMLAttributes<HTMLSelectElement>, \"onChange\">;\n\ninterface Props extends SelectRootProps {\n defaultValue: string | undefined;\n options: readonly {\n label: string;\n value: string;\n icon?: React.ReactNode;\n }[];\n onChange?: (value: string | undefined) => void;\n variant?: \"outline\" | \"ghost\";\n placeholder?: string;\n className?: string;\n withArrow?: boolean;\n contentProps?: React.ComponentProps<typeof SelectPrimitive.Content>;\n itemProps?: Omit<React.ComponentProps<typeof SelectPrimitive.Item>, \"value\">;\n}\n\nfunction SelectInput({\n defaultValue,\n options,\n variant = \"outline\",\n onChange,\n placeholder,\n className,\n withArrow = true,\n contentProps,\n itemProps,\n ...props\n}: Props) {\n return (\n <BaseSelect onValueChange={onChange} defaultValue={defaultValue} {...props}>\n <BaseSelectTrigger\n withArrow={withArrow}\n id={props.id}\n aria-invalid={props[\"aria-invalid\"]}\n className={cn(\"w-full cursor-pointer\", className)}\n variant={variant}\n >\n <BaseSelectValue\n className=\"flex-1\"\n placeholder={placeholder || \"Select\"}\n />\n </BaseSelectTrigger>\n <BaseSelectContent\n {...contentProps}\n className={cn(\n \"border-stroke-inverse-slate-02 border\",\n contentProps?.className\n )}\n >\n {options.map((option) => (\n <BaseSelectItem\n key={option.value}\n value={option.value}\n className={cn(itemProps?.className)}\n {...itemProps}\n >\n {option.icon}\n {option.label}\n </BaseSelectItem>\n ))}\n </BaseSelectContent>\n </BaseSelect>\n );\n}\n\nfunction BaseSelect({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction BaseSelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction BaseSelectTrigger({\n className,\n withArrow = true,\n size = \"default\",\n variant = \"outline\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n variant?: \"outline\" | \"ghost\";\n withArrow?: boolean;\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"focus-visible:border-stroke-inverse-blue-02 focus-visible:bg-navigation-selected active:bg-navigation-selected active:border-stroke-inverse-blue-02 hover:bg-navigation-hovered cursor-pointer border border-transparent transition-all duration-300 active:border\",\n \"aria-invalid:border-stroke-inverse-red-01 aria-invalid:hover:border-stroke-inverse-red-02 aria-invalid:text-element-inverse-red!\",\n {\n \"bg-input-outline-enabled hover:bg-input-outline-hovered disabled:bg-input-outline-disabled border-stroke-inverse-slate-03 hover:border-stroke-inverse-slate-04 focus-within:border-stroke-inverse-slate-04 border\":\n variant === \"outline\",\n\n /* Invalid */\n\n /* Outline On Focus */\n \"focus-visible:hover:border-stroke-static-blue-03 focus-visible:border-stroke-static-blue-03 focus-within:outline-none\":\n variant === \"outline\",\n\n \"bg-input-ghost-enabled hover:bg-input-ghost-hovered disabled:bg-input-ghost-disabled\":\n variant === \"ghost\",\n },\n\n \"data-[placeholder]:text-element-inverse-disabled [&_svg:not([class*='text-'])]:text-element-inverse-disabled focus-visible:aria-invalid:border-input-border-destructiveHover text-body-sm rounded-unit-corner-radius-xl flex w-fit items-center justify-between gap-2 bg-transparent px-3 py-2 whitespace-nowrap transition-[color,box-shadow] outline-none disabled:cursor-not-allowed data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n {withArrow && (\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"text-icon-default size-4\" />\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction BaseSelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"glass-effect data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 rounded-unit-corner-radius-3xl relative z-[var(--z-popover)] max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto px-1 py-1 shadow-xs\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <BaseSelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <BaseSelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\n// function BaseSelectLabel({\n// className,\n// ...props\n// }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n// return (\n// <SelectPrimitive.Label\n// data-slot=\"select-label\"\n// className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n// {...props}\n// />\n// );\n// }\n\nfunction BaseSelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"hover:bg-button-soft-hovered [&_svg:not([class*='text-'])]:text-text-inactive relative flex w-full cursor-pointer items-center gap-2 rounded-lg py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"text-icon-secondary size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\n// function BaseSelectSeparator({\n// className,\n// ...props\n// }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n// return (\n// <SelectPrimitive.Separator\n// data-slot=\"select-separator\"\n// className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n// {...props}\n// />\n// );\n// }\n\nfunction BaseSelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction BaseSelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n // BaseSelectContent,\n // BaseSelectGroup,\n // BaseSelectItem,\n // BaseSelectLabel,\n // BaseSelectScrollDownButton,\n // BaseSelectScrollUpButton,\n // BaseSelectSeparator,\n // BaseSelectTrigger,\n // BaseSelectValue,\n SelectInput,\n};\n","import * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n showCloseButton = true,\n sheetOverlayClassName,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n sheetOverlayClassName?: string;\n showCloseButton?: boolean;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay className={sheetOverlayClassName} />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"bg-fill-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n side === \"right\" &&\n \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",\n side === \"left\" &&\n \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",\n side === \"top\" &&\n \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n side === \"bottom\" &&\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n ) : null}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-foreground font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n};\n","import { cn } from \"@/utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\n \"bg-stroke-inverse-slate-03 animate-pulse rounded-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","import * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max],\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-audioProgress-bg relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-audioProgress-item absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\",\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"bg-audioProgress-item ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n ></SliderPrimitive.Thumb>\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n","import { useTheme } from \"next-themes\";\nimport { Toaster as Sonner, type ToasterProps } from \"sonner\";\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { Toaster };\n","import { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\n\nfunction Switch({\n className,\n label,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & { label?: string }) {\n return (\n <div className=\"flex items-center space-x-2\">\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n id={props.id || label}\n className={cn(\n \"peer data-[state=checked]:bg-button-switch-on-enabled data-[state=checked]:hover:bg-button-switch-on-hovered data-[state=checked]:disabled:bg-button-switch-on-disabled data-[state=unchecked]:bg-button-switch-off-enabled data-[state=unchecked]:hover:bg-button-switch-off-hovered data-[state=unchecked]:disabled:bg-button-switch-off-disabled focus-visible:border-input-border-primaryHover focus-visible:ring-effect-ring-primary dark:data-[state=unchecked]:bg-input/80 inline-flex h-[20px] w-[34px] shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-element-static-white dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-1px)] data-[state=unchecked]:translate-x-[1px]\",\n )}\n />\n </SwitchPrimitive.Root>\n {label && <Label htmlFor={props.id || label}>{label}</Label>}\n </div>\n );\n}\n\nexport { Switch };\n","import { cn } from \"@/utils\";\nimport { Loader2 as Spinner } from \"lucide-react\";\nimport { Badge } from \"@/ui/Badge\";\nimport { ProgressIndicator } from \"@/ui/ProgressIndicator\";\nimport {\n type ColumnDef,\n flexRender,\n getCoreRowModel,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { useHover } from \"@uidotdev/usehooks\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { AlertCircle } from \"lucide-react\";\nimport {\n IconsaxBriefcaseBold,\n MagickoAdd,\n MagickoCopy,\n MagickoCopySuccess,\n} from \"magick-icons\";\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport { Button } from \"@/ui/Button\";\nimport IconButton from \"@/ui/IconButton\";\nimport IconProfile from \"@/ui/IconProfile\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/ui/Popover\";\nimport { Text } from \"@/ui/Text\";\n\ntype TableProps<T> = {\n columns: ColumnDef<T, keyof T>[];\n tableData: T[];\n isLoading?: boolean;\n emptyState?: {\n emptyAction?: () => void;\n label: string;\n icon: React.ReactNode;\n };\n onRowClick?: (row: T) => void;\n};\n\nconst Table = <T,>({\n columns,\n tableData,\n isLoading = false,\n emptyState = {\n emptyAction: undefined,\n label: \"There is currently no data available to display in this table.\",\n icon: <IconProfile icon={<IconsaxBriefcaseBold />} color=\"teal\" />,\n },\n onRowClick,\n}: TableProps<T>) => {\n const table = useReactTable({\n data: tableData,\n columns,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n });\n\n const rowCount = table.getRowModel().rows.length;\n\n return (\n <div className=\"relative flex flex-col overflow-auto\">\n {isLoading ? (\n <div\n className={cn(\n rowCount === 0 ? \"\" : \"bg-gray-100 dark:bg-gray-700\",\n \"absolute top-10 left-0 w-full h-full min-h-[100px] opacity-70 z-10 flex items-center justify-center\"\n )}\n >\n <Spinner className=\"size-10 text-stroke-inverse-slate-04 \" />\n </div>\n ) : null}\n\n {!isLoading && rowCount === 0 ? (\n <div className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-2\">\n <div className=\"flex flex-col items-center gap-4\">\n {emptyState?.icon}\n <Text>{emptyState?.label}</Text>\n {emptyState?.emptyAction ? (\n <Button\n variant={\"outline\"}\n prefix={\n <MagickoAdd className=\"[&_path]:fill-element-inverse-default\" />\n }\n onClick={() => emptyState?.emptyAction?.()}\n >\n Create new\n </Button>\n ) : null}\n </div>\n </div>\n ) : null}\n\n <div className=\"max-w-full flex-1 overflow-x-auto\">\n <table\n className=\"w-full caption-bottom text-sm\"\n style={{ minWidth: \"max-content\" }}\n >\n <thead className=\"bg-fill-inverse-slate-03\">\n {table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className=\"hover:bg-muted/50 border-stroke-inverse-slate-02 border-b transition-colors\"\n >\n {headerGroup.headers.map((header) => (\n <th\n key={header.id}\n className=\"text-muted-foreground h-12 px-4 text-left align-middle font-medium\"\n >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </th>\n ))}\n </tr>\n ))}\n </thead>\n <tbody className=\"relative\">\n {table.getRowModel().rows.map((row) => {\n return (\n <tr\n key={row.id}\n className=\"hover:bg-muted/50 bg-table-table-cell-unselected group/row border-stroke-inverse-slate-02 cursor-pointer border-b transition-colors\"\n onClick={() => onRowClick?.(row.original)}\n >\n {row.getVisibleCells().map((cell) => (\n <td key={cell.id} className=\"p-4\">\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </td>\n ))}\n </tr>\n );\n })}\n\n {rowCount === 0 &&\n Array.from({ length: 6 }).map((_, index) => (\n <tr key={index}>\n <td colSpan={columns.length} className=\"h-12 p-4\">\n <div className=\"\" />\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\n// PrimaryCell component with variants (no explicit default variant)\nconst primaryCellVariants = cva(\n \"flex items-center gap-2 text-body-sm text-element-inverse-default\",\n {\n variants: {\n variant: {\n badge: \"\",\n progress: \"\",\n error: \"text-element-inverse-red flex items-center gap-2\",\n },\n },\n }\n);\n\nexport interface PrimaryCellProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof primaryCellVariants> {\n children?: React.ReactNode;\n badgeContent?: React.ReactNode;\n badgeType?:\n | \"primary-hard\"\n | \"primary-soft\"\n | \"destructive-hard\"\n | \"destructive-soft\"\n | \"secondary-hard\"\n | \"secondary-soft\";\n badgeSize?: \"sm\" | \"md\";\n progressValue?: number;\n progressMax?: number;\n showProgressPercentage?: boolean;\n errorMessage?: string;\n hoverUI?: React.ReactNode;\n}\n\nconst PrimaryCell = React.forwardRef<HTMLDivElement, PrimaryCellProps>(\n (\n {\n variant,\n badgeContent,\n children,\n badgeType,\n badgeSize = \"sm\",\n progressValue,\n progressMax = 100,\n showProgressPercentage = false,\n errorMessage,\n hoverUI,\n ...props\n },\n ref\n ) => {\n let content: React.ReactNode = children;\n\n if (variant === \"badge\") {\n content = (\n <div className=\"flex items-center gap-2\">\n {children}\n {badgeContent && (\n <Badge type={badgeType} size={badgeSize}>\n {badgeContent}\n </Badge>\n )}\n </div>\n );\n } else if (variant === \"progress\") {\n content = (\n <>\n {progressValue !== 100 && (\n <ProgressIndicator\n variant=\"circle\"\n value={progressValue || 0}\n max={progressMax}\n showPercentage={showProgressPercentage}\n />\n )}\n {children && (\n <span className=\"text-body-sm text-element-inverse-default\">\n {children}\n </span>\n )}\n </>\n );\n } else if (variant === \"error\") {\n content = (\n <>\n <AlertCircle className=\"size-4 shrink-0\" />\n {errorMessage ? (\n <span className=\"text-body-sm\">{errorMessage}</span>\n ) : (\n children\n )}\n </>\n );\n }\n\n return (\n <div\n ref={ref}\n className={cn(primaryCellVariants({ variant }))}\n {...props}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">{content}</div>\n {hoverUI && (\n <div className=\"ml-2 flex items-center gap-2 opacity-0 transition-opacity duration-200 group-hover/row:opacity-100\">\n {hoverUI}\n </div>\n )}\n </div>\n );\n }\n);\n\nPrimaryCell.displayName = \"PrimaryCell\";\n\n// Attach PrimaryCell as a compound component\nTable.PrimaryCell = PrimaryCell;\n\nconst TextCell = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n text: string | number | undefined;\n copyable?: boolean;\n className?: string;\n }\n>(({ text, copyable = true, className, ...props }, ref) => {\n const [isCopied, setIsCopied] = useState(false);\n const [hoverRef, isHovering] = useHover();\n\n const handleCopy = () => {\n navigator.clipboard.writeText(text as string);\n setIsCopied(true);\n };\n\n React.useEffect(() => {\n if (isCopied) {\n setTimeout(() => {\n setIsCopied(false);\n }, 1200);\n }\n }, [isCopied]);\n\n return (\n <div className={cn(\"w-full h-full\", className)} ref={ref} {...props}>\n <div className=\"relative\" ref={hoverRef}>\n {copyable && isHovering && (\n <IconButton\n icon={\n isCopied ? (\n <MagickoCopySuccess\n className={cn(\n isCopied ? \"size-4 scale-115\" : \"size-4\",\n \"transition-all ease-in duration-200\"\n )}\n />\n ) : (\n <MagickoCopy className=\"size-4\" />\n )\n }\n className=\"absolute top-1/2 -right-3 -translate-y-1/2\"\n size=\"sm\"\n varient=\"soft\"\n onClick={handleCopy}\n />\n )}\n\n <Popover>\n <PopoverTrigger asChild>\n <Text className=\"truncate line-clamp-1\">{text ?? \"-\"}</Text>\n </PopoverTrigger>\n <PopoverContent className=\"\">\n <Text>{text ?? \"-\"}</Text>\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n});\n\nTextCell.displayName = \"TextCell\";\nTable.TextCell = TextCell;\n\nexport default Table;\n","import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\n\nimport { Badge } from \"@/ui/Badge\";\nimport { cn } from \"@/utils\";\n\nexport interface TabItem {\n value: string;\n label: string;\n content: React.ReactNode;\n notification?: boolean;\n count?: number;\n icon?: React.ReactNode;\n}\n\nexport interface TabItemWithoutContent {\n value: string;\n label: string;\n notification?: boolean;\n count?: number;\n icon?: React.ReactNode;\n onClick?: () => void;\n}\n\nfunction Tabs({\n defaultActiveTab,\n tabSmall,\n className,\n tabs,\n showContent = true,\n ...props\n}: {\n defaultActiveTab: string;\n tabSmall?: boolean;\n className?: string;\n notification?: boolean;\n showContent?: boolean;\n tabs: (TabItem | TabItemWithoutContent)[];\n} & React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <BaseTabs defaultValue={defaultActiveTab} className={className} {...props}>\n <BaseTabsList>\n {tabs.map((tab) => (\n <BaseTabsTrigger\n key={tab.value}\n tabSmall={tabSmall}\n value={tab.value}\n className=\"relative flex cursor-pointer items-center justify-center gap-x-2\"\n onClick={\n typeof tab === \"object\" && \"onClick\" in tab\n ? tab.onClick\n : undefined\n }\n >\n {tab.icon && <div>{tab.icon}</div>}\n {tab.label}\n {tab.notification && (\n <div className=\"bg-icon-destructive absolute top-1 right-1 size-1.5 rounded-full\" />\n )}\n {!!tab.count && <Badge type=\"primary-soft\">{tab.count}</Badge>}\n </BaseTabsTrigger>\n ))}\n </BaseTabsList>\n {showContent &&\n \"content\" in tabs[0] &&\n tabs.map((tab) => (\n <BaseTabsContent key={tab.value} value={tab.value}>\n {(tab as TabItem).content}\n </BaseTabsContent>\n ))}\n </BaseTabs>\n );\n}\n\n// Base components\nfunction BaseTabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction BaseTabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"inline-flex min-h-9 w-fit flex-nowrap items-center justify-center gap-1.5 rounded-lg py-[3px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseTabsTrigger({\n className,\n tabSmall,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger> & {\n tabSmall?: boolean;\n}) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"dark:data-[state=active]:text-text-default focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 hover:!bg-tab-bg-hover dark:text-text-light data-[state=active]:after:bg-icon-default text-body-sm data-[state=active]:text-text-default text-text-light relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 font-sans font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:after:absolute data-[state=active]:after:right-0 data-[state=active]:after:-bottom-1.5 data-[state=active]:after:left-0 data-[state=active]:after:mx-auto data-[state=active]:after:h-0.5 data-[state=active]:after:w-[calc(100%-16px)] data-[state=active]:after:content-[''] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n tabSmall &&\n \"data-[state=active]:bg-tab-bg-active dark:data-[state=active]:bg-tab-bg-active focus-visible:border-none focus-visible:ring-0 focus-visible:outline-0 data-[state=active]:after:hidden dark:data-[state=active]:border-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BaseTabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs };\n","import { cn } from \"@/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\ntype Props = {\n label: string;\n variant: string;\n className?: string;\n};\n\nconst tagVariants = cva(\"px-1 rounded-sm\", {\n variants: {\n variant: {\n primary: \"bg-tag-bg-primary\",\n secondary: \"bg-tag-bg-secondary\",\n destructive: \"bg-tag-bg-destructive\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nfunction Tag({\n label,\n variant,\n className,\n}: Props & VariantProps<typeof tagVariants>) {\n return (\n <div data-slot=\"tag\" className={cn(tagVariants({ variant }), className)}>\n <span className=\"text-caption font-semibold text-white\">{label}</span>\n </div>\n );\n}\n\nexport { Tag };\n","import * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nconst TextareaInput = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\"> & {\n label?: string;\n }\n>(({ className, label, ...props }, ref) => {\n return (\n <textarea\n ref={ref}\n id={props.id}\n data-slot=\"textarea\"\n className={cn(\n \"text-body-sm border-stroke-inverse-slate-03 placeholder:text-body-sm! placeholder:leading-body-sm placeholder:text-text-inactive hover:border-stroke-static-slate-03 bg-input-ghost-enabled focus-visible:border-stroke-static-blue-03 disabled:border-stroke-inverse-slate-02 disabled:bg-fill-inverse-slate-02 rounded-unit-corner-radius-xl flex field-sizing-content min-h-16 w-full border px-3 py-2 shadow-xs transition-[color,box-shadow] outline-none placeholder:font-medium disabled:cursor-not-allowed\",\n \"aria-invalid:border-stroke-inverse-red-01 aria-invalid:hover:border-stroke-inverse-red-02 aria-invalid:text-element-inverse-red\",\n className\n )}\n {...props}\n />\n );\n});\n\nTextareaInput.displayName = \"TextareaInput\";\n\nexport default TextareaInput;\n","\"use client\";\n\nimport { cn } from \"@/utils\";\nimport { Clock } from \"lucide-react\";\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/ui/Dropdown\";\nimport { Input } from \"@/ui/Input\";\nimport { Label } from \"@/ui/Label\";\n\ninterface TimePickerProps\n extends Omit<React.ComponentProps<\"input\">, \"onChange\"> {\n label?: string;\n timeOptions: { label: string; value: string }[];\n defaultValue?: string;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nexport function TimePicker({\n label,\n onValueChange,\n timeOptions,\n defaultValue,\n value,\n ...props\n}: TimePickerProps) {\n \n const [isOpen, setIsOpen] = useState(false);\n const currentValue = value || defaultValue || \"\";\n\n const formatTimeForDisplay = (timeValue: string): string => {\n if (!timeValue) return \"\";\n\n const timeOption = timeOptions?.find(\n (option) => option.value === timeValue,\n );\n return timeOption ? timeOption.label : timeValue;\n };\n\n const handleChange = (value: string) => {\n onValueChange?.(value);\n };\n return (\n <div className=\"flex flex-col gap-3\">\n {label && (\n <Label htmlFor=\"time-picker\" className=\"px-1\">\n Time\n </Label>\n )}\n <DropdownMenu open={isOpen} onOpenChange={setIsOpen}>\n <DropdownMenuTrigger className=\"!p-0\">\n <Input\n {...props}\n className=\"py-[1.4px]\"\n value={currentValue ? formatTimeForDisplay(currentValue) : \"\"}\n onKeyDown={(e) => e.preventDefault()}\n prefixNode={{\n node: (\n <Clock className=\"pointer-events-none h-5 w-5 text-gray-700\" />\n ),\n withBorder: false,\n }}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"start\"\n className=\"max-h-60 min-w-41 overflow-y-auto\"\n >\n {timeOptions?.map((item) => (\n <DropdownMenuItem\n key={item.value}\n className={cn(\n \"text-body-sm\",\n currentValue === item.value && \"bg-dropdown-bg-hover font-bold\",\n )}\n onClick={() => handleChange(item.value)}\n >\n {item.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n","import { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\ninterface TitleProps extends React.ComponentPropsWithoutRef<\"h2\"> {\n asChild?: boolean;\n}\n\nconst Title = React.forwardRef<HTMLHeadingElement, TitleProps>(\n ({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"h2\";\n\n return (\n <Comp\n ref={ref}\n className={cn(\n \"text-title-lg! leading-body-lg! text-element-inverse-default font-bold\",\n className\n )}\n {...props}\n />\n );\n }\n);\n\nTitle.displayName = \"Title\";\n\nexport default Title;\n","import * as TogglePrimitive from \"@radix-ui/react-toggle\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 text-sm font-medium disabled:pointer-events-none disabled:text-icon-inactive data-[state=on]:disabled:text-icon-inactive data-[state=on]:disabled:bg-toggle-bg-inactiveDefault data-[state=on]:bg-toggle-bg-activeDefault data-[state=on]:hover:bg-toggle-bg-activeHover data-[state=on]:text-icon-white hover:bg-toggle-bg-inactiveHover hover:text-icon-default [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap cursor-pointer\",\n {\n variants: {\n shape: {\n rectangle: \"rounded-md\",\n rounded: \"rounded-full\",\n },\n style: {\n ghost: \"bg-transparent hover:bg-transparent\",\n outline:\n \"border border-border-primary-light bg-toggle-bg-inactiveDefault\",\n soft: \"bg-button-soft-enabled\",\n },\n size: {\n sm: \"h-7 px-1 min-w-7\",\n md: \"h-8 px-1.5 min-w-8\",\n lg: \"h-9 px-2.5 min-w-9\",\n },\n },\n defaultVariants: {\n shape: \"rectangle\",\n style: \"soft\",\n size: \"sm\",\n },\n },\n);\n\nfunction Toggle({\n className,\n active,\n shape,\n style,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n active?: boolean;\n }) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ shape, style, size, className }))}\n pressed={active}\n {...props}\n />\n );\n}\n\nexport { Toggle, toggleVariants };\n","import { useRef } from \"react\";\n\nimport { ToggleDropdownLeftButton } from \"./ToggleDropdownLeftButton\";\nimport { ToggleDropdownRightButton } from \"./ToggleDropdownRightButton\";\nimport { useToggleDropdown } from \"./useToggleDropdown\";\n\ntype ToggleDropdownButtonProps = {\n type: \"text\" | \"icon\";\n selected: boolean;\n variant: \"primary\" | \"secondary\" | \"destructive\";\n leftButtonChildren?: React.ReactNode;\n rightButtonChildren?: React.ReactNode;\n onLeftButtonClick?: () => void;\n onRightButtonClick?: () => void;\n dropdownMenu?: React.ReactNode;\n};\n\nconst ToggleDropdownButton = ({\n type,\n selected,\n variant,\n leftButtonChildren,\n rightButtonChildren,\n onRightButtonClick,\n onLeftButtonClick,\n dropdownMenu,\n}: ToggleDropdownButtonProps) => {\n const rightButtonRef = useRef<HTMLButtonElement>(null);\n\n const handleRightButtonClick = () => {\n onRightButtonClick?.();\n };\n\n const handleLeftButtonClick = () => {\n onLeftButtonClick?.();\n };\n\n return (\n <div className=\"gap-x-unit-1px flex items-center\">\n <ToggleDropdownLeftButton\n selected={selected}\n variant={variant}\n size=\"md\"\n type={type}\n onClick={handleLeftButtonClick}\n >\n {leftButtonChildren}\n </ToggleDropdownLeftButton>\n\n <div className=\"relative\">\n <ToggleDropdownRightButton\n ref={rightButtonRef}\n selected={selected}\n variant={variant}\n size=\"md\"\n type={type}\n onClick={handleRightButtonClick}\n >\n {rightButtonChildren}\n </ToggleDropdownRightButton>\n\n {dropdownMenu}\n </div>\n </div>\n );\n};\n\nexport default ToggleDropdownButton;\nexport { useToggleDropdown };\n","import { cva } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport IconContainer from \"@/ui/IconContainer\";\n\nconst toggleDropdownLeftButtonVariants = cva(\n \"flex items-center justify-center cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"px-3 py-2.5 h-full rounded-l-unit-corner-radius-xl rounded-r-unit-corner-radius-sm\",\n lg: \"px-4 py-3 h-full rounded-l-unit-corner-radius-2xl rounded-r-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\n\nconst toggleDropdownLeftButtonIconVariants = cva(\n \"flex items-center justify-center cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"p-unit-10px h-full rounded-l-unit-corner-radius-xl rounded-r-unit-corner-radius-sm\",\n lg: \"p-3 h-full rounded-l-unit-corner-radius-2xl rounded-r-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\nexport interface ToggleDropdownLeftButtonProps extends Omit<\n React.ComponentProps<\"button\">,\n \"children\" | \"type\"\n> {\n type?: \"text\" | \"icon\";\n variant?: \"primary\" | \"secondary\" | \"destructive\";\n size?: \"md\" | \"lg\";\n selected?: boolean;\n children?: React.ReactNode;\n}\n\nfunction ToggleDropdownLeftButton({\n className,\n variant = \"primary\",\n type = \"text\",\n size = \"md\",\n selected = false,\n children,\n ...props\n}: ToggleDropdownLeftButtonProps) {\n const iconClass = selected\n ? \"text-element-static-white fill-element-static-white\"\n : \"text-element-inverse-default fill-element-inverse-default\";\n\n // Check if children is a React element (likely an icon)\n const isIcon = React.isValidElement(children);\n\n return type === \"text\" ? (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownLeftButtonVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n {isIcon ? (\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:!text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n ) : (\n children\n )}\n </button>\n ) : (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownLeftButtonIconVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:!text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n </button>\n );\n}\n\nexport { ToggleDropdownLeftButton, toggleDropdownLeftButtonVariants };\n","import { cva } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport IconContainer from \"@/ui/IconContainer\";\n\nconst toggleDropdownRightButtonVariants = cva(\n \"flex items-center justify-center group cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"px-1 py-unit-10px h-full rounded-r-unit-corner-radius-xl rounded-l-unit-corner-radius-sm\",\n lg: \"px-1 py-3 h-full rounded-r-unit-corner-radius-2xl rounded-l-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\n\nconst toggleDropdownRightButtonIconVariants = cva(\n \"flex items-center justify-center group cursor-pointer transition-all\",\n {\n variants: {\n variant: {\n primary:\n \"bg-button-toggle-unselected-primary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-primary-hovered active:bg-button-toggle-unselected-primary-pressed\",\n secondary:\n \"bg-button-toggle-unselected-secondary-enabled text-element-inverse-default hover:bg-button-toggle-unselected-secondary-hovered active:bg-button-toggle-unselected-secondary-pressed\",\n destructive:\n \"bg-button-toggle-unselected-destructive-enabled text-element-inverse-default hover:bg-button-toggle-unselected-destructive-hovered active:bg-button-toggle-unselected-destructive-pressed\",\n },\n size: {\n md: \"px-1 py-unit-10px h-full rounded-r-unit-corner-radius-xl rounded-l-unit-corner-radius-sm\",\n lg: \"px-1 py-3 h-full rounded-r-unit-corner-radius-2xl rounded-l-unit-corner-radius-md\",\n },\n selected: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n selected: true,\n variant: \"primary\",\n class:\n \"bg-button-toggle-selected-primary-enabled text-element-static-white hover:bg-button-toggle-selected-primary-hovered active:bg-button-toggle-selected-primary-pressed\",\n },\n {\n selected: true,\n variant: \"secondary\",\n class:\n \"bg-button-toggle-selected-secondary-enabled text-element-static-white hover:bg-button-toggle-selected-secondary-hovered active:bg-button-toggle-selected-secondary-pressed\",\n },\n {\n selected: true,\n variant: \"destructive\",\n class:\n \"bg-button-toggle-selected-destructive-enabled text-element-static-white hover:bg-button-toggle-selected-destructive-hovered active:bg-button-toggle-selected-destructive-pressed\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n selected: false,\n },\n },\n);\n\nexport interface ToggleDropdownRightButtonProps extends Omit<\n React.ComponentProps<\"button\">,\n \"children\" | \"type\"\n> {\n variant?: \"primary\" | \"secondary\" | \"destructive\";\n type?: \"text\" | \"icon\";\n size?: \"md\" | \"lg\";\n selected?: boolean;\n children?: React.ReactNode;\n}\n\nfunction ToggleDropdownRightButton({\n className,\n variant = \"primary\",\n type = \"text\",\n size = \"md\",\n selected = false,\n children,\n ...props\n}: ToggleDropdownRightButtonProps) {\n const iconClass = selected\n ? \"text-element-static-white fill-element-static-white\"\n : \"text-element-inverse-default fill-element-inverse-default\";\n\n // Check if children is a React element (likely an icon)\n const isIcon = React.isValidElement(children);\n\n return type === \"text\" ? (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownRightButtonVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n {isIcon ? (\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:!text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n ) : (\n children\n )}\n </button>\n ) : (\n <button\n type=\"button\"\n className={cn(\n toggleDropdownRightButtonIconVariants({ variant, size, selected }),\n className,\n )}\n {...props}\n >\n <IconContainer\n colorInFill={false}\n className={cn(\n iconClass,\n `${selected ? \"[&_path]:! text-element-static-white [&_path]:!fill-element-static-white\" : \"[&_path]:!text-element-inverse-default [&_path]:!fill-element-inverse-default\"}`,\n )}\n size={\"md\"}\n >\n {children}\n </IconContainer>\n </button>\n );\n}\n\nexport { ToggleDropdownRightButton, toggleDropdownRightButtonVariants };\n","import { useState, useCallback } from \"react\";\n\nexport const useToggleDropdown = (initialState = false) => {\n const [isOpen, setIsOpen] = useState(initialState);\n\n const openDropdown = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const closeDropdown = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const toggleDropdown = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n return {\n isOpen,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n setIsOpen,\n };\n};\n\n","import { cn } from \"@/utils\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useState } from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from \"@/ui/Dropdown\";\n\ntype ToolToggleProps = {\n className?: string;\n dropdown?: boolean;\n dropdownContent?: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: (active: boolean) => void;\n};\n\nconst ToolToggle = ({\n dropdown,\n dropdownContent,\n icon,\n className,\n onClick,\n}: ToolToggleProps) => {\n const [active, setActive] = useState(false);\n\n const handleClick = () => {\n setActive(!active);\n onClick?.(active);\n };\n\n return (\n <div className={cn(dropdown ? \"min-w-20\" : \"min-w-[52px]\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger\n className={cn(\n \"border-border-primary-light !bg-toggle-bg-inactiveDefault hover:!bg-toggle-bg-inactiveHover flex h-full w-full items-center justify-center gap-x-2 !rounded-full border p-4 transition-all\",\n active &&\n \"!bg-toggle-bg-activeDefault hover:!bg-toggle-bg-activeHover\",\n )}\n >\n <div\n className=\"flex items-center justify-center gap-x-2\"\n onClick={handleClick}\n >\n {icon}\n {dropdown && <ChevronDown className=\"text-icon-default size-5\" />}\n </div>\n </DropdownMenuTrigger>\n {dropdown && (\n <DropdownMenuContent align=\"start\" className=\"min-w-41\">\n {dropdownContent}\n </DropdownMenuContent>\n )}\n </DropdownMenu>\n </div>\n );\n};\n\nexport { ToolToggle };\n","import { cn } from \"@/utils\";\n\ntype WrapperCardProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport const WrapperCard = (props: WrapperCardProps) => {\n const { children, className } = props;\n\n return (\n <div\n className={cn(\n \"rounded-unit-corner-radius-5xl scrollbar-hide border-stroke-inverse-slate-02 bg-fill-foreground overflow-scroll border p-4\",\n className\n )}\n >\n {children}\n </div>\n );\n};\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"@/utils\";\nimport { Label } from \"@/ui/Label\";\n\nconst BaseForm = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst BaseFormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\nfunction BaseFormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction BaseFormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\n \"data-[error=true]:text-destructive text-title-sm! text-element-inverse-default font-semibold\",\n className,\n )}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction BaseFormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction BaseFormDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction BaseFormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n //Warning: I don't know why I can't use cn here :)\n className={`text-text-destructive text-caption ${className}`}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n BaseForm,\n BaseFormControl,\n BaseFormDescription,\n BaseFormField,\n BaseFormItem,\n BaseFormLabel,\n BaseFormMessage,\n useFormField,\n};\n","import * as React from \"react\";\nimport type { Control, FieldValues, Path } from \"react-hook-form\";\nimport {\n BaseFormControl,\n BaseFormField,\n BaseFormItem,\n BaseFormLabel,\n BaseFormMessage,\n} from \"@/ui/form/Base\";\nimport { cn } from \"@/utils\";\nimport type { Input } from \"@/ui/Input\";\n\nexport type FormFieldProps<T extends FieldValues> = {\n control: Control<T>;\n isShowError?: boolean;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n field: {\n name: Path<T>;\n label?: string;\n required?: boolean;\n optional?: boolean;\n render: React.ReactNode;\n };\n className?: string;\n};\n\nexport const FormField = <T extends FieldValues>({\n control,\n field,\n isShowError,\n onBlur,\n className,\n}: FormFieldProps<T>) => {\n return (\n <BaseFormField\n key={field.name}\n control={control}\n name={field.name}\n render={({ field: formField }) => (\n <BaseFormItem className={cn(\"w-full\", className)}>\n {field.label && (\n <BaseFormLabel className=\"gap-1\">\n {field.label}\n {field.required && (\n <span className=\"text-element-inverse-red\">*</span>\n )}\n {field.optional && (\n <span className=\"text-title-sm!\">(Optional)</span>\n )}\n </BaseFormLabel>\n )}\n <BaseFormControl>\n {React.isValidElement(field.render)\n ? React.cloneElement(\n field.render as React.ReactElement<\n React.ComponentProps<typeof Input>\n >,\n {\n ...formField,\n onBlur: (e) => {\n formField.onBlur();\n onBlur?.(e);\n },\n }\n )\n : field.render}\n </BaseFormControl>\n {isShowError && <BaseFormMessage />}\n </BaseFormItem>\n )}\n />\n );\n};\n","import type React from \"react\";\nimport { createContext } from \"react\";\nimport {\n Controller,\n type FieldPath,\n type FieldValues,\n type Path,\n type PathValue,\n type UseFormReturn,\n useFormContext,\n} from \"react-hook-form\";\nimport { cn } from \"@/utils\";\nimport { BaseForm } from \"@/ui/form/Base\";\nimport { FormField } from \"@/ui/form/FormField\";\nimport { Input } from \"@/ui/Input\";\nimport { PasswordInput } from \"@/ui/PasswordInput\";\nimport { SelectInput } from \"@/ui/SelectInput\";\nimport TextareaInput from \"@/ui/TextAreaInput\";\nimport { Checkbox } from \"@/ui/Checkbox\";\nimport { Combobox } from \"@/ui/Combobox\";\nimport { DatePickerInput } from \"@/ui/DatePickerInput\";\nimport { FileUploadField } from \"@/ui/FileUpload\";\nimport { MultiSelect } from \"@/ui/MultiSelect\";\nimport { OTPInput } from \"@/ui/OTPInput\";\nimport { Radio } from \"@/ui/Radio\";\nimport { Switch } from \"@/ui/Switch\";\nimport { TimePicker } from \"@/ui/TimePicker\";\n\nconst FormMethodsContext = createContext<UseFormReturn<FieldValues> | null>(\n null\n);\n\ntype FormProps<T extends FieldValues> = {\n id: string;\n formMethods: UseFormReturn<T>;\n onSubmit: (data: T) => void;\n className?: string;\n children: React.ReactNode;\n};\n\nfunction Form<T extends FieldValues>({\n id,\n formMethods,\n onSubmit,\n className,\n children,\n}: FormProps<T>) {\n return (\n <FormMethodsContext.Provider\n value={formMethods as UseFormReturn<FieldValues>}\n >\n <BaseForm {...formMethods}>\n <form\n id={id}\n onSubmit={formMethods.handleSubmit(onSubmit)}\n className={className}\n noValidate\n >\n {children}\n </form>\n </BaseForm>\n </FormMethodsContext.Provider>\n );\n}\n\nForm.InputField = function InputField<T extends FieldValues = FieldValues>({\n name,\n label,\n isShowError = false,\n required = false,\n ...props\n}: {\n name: FieldPath<T>;\n isShowError?: boolean;\n label?: string;\n required?: boolean;\n} & React.ComponentProps<typeof Input>) {\n const { control } = useFormContext<T>();\n\n return (\n <FormField\n className=\"w-full\"\n control={control}\n isShowError={isShowError}\n onBlur={props.onBlur}\n field={{\n name,\n label,\n required,\n render: <Input {...props} inputClassName={props.inputClassName} />,\n }}\n />\n );\n};\n\nForm.PasswordField = function PasswordField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T> } & React.ComponentProps<typeof PasswordInput>) {\n const { control } = useFormContext<T>();\n\n return (\n <FormField\n className=\"w-full\"\n control={control}\n field={{\n name,\n label,\n render: <PasswordInput {...props} />,\n }}\n />\n );\n};\n\nForm.SelectInputField = function SelectInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n required,\n ...props\n}: { name: FieldPath<T>; label?: string } & React.ComponentProps<\n typeof SelectInput\n>) {\n const { control } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n required,\n label,\n render: <SelectInput {...props} />,\n }}\n />\n );\n};\n\nForm.MultiSelectField = function MultiSelectField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T>; label?: string } & Omit<\n React.ComponentProps<typeof MultiSelect>,\n \"selected\" | \"onChange\"\n>) {\n const { control, watch, setValue } = useFormContext<T>();\n const selectedValues = watch(name) || [];\n\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n render: (\n <MultiSelect\n {...props}\n selected={selectedValues}\n onChange={(selected) =>\n setValue(name, selected as PathValue<T, Path<T>>)\n }\n />\n ),\n }}\n />\n );\n};\n\nForm.TextareaField = function TextareaField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n optional = false,\n ...props\n}: { name: FieldPath<T>; optional?: boolean } & React.ComponentProps<\n typeof TextareaInput\n>) {\n const { control } = useFormContext<T>();\n\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n optional,\n render: <TextareaInput {...props} />,\n }}\n />\n );\n};\n\nForm.FileUploadField = function FileUploadFieldComponent<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n isMultiple,\n maxFiles,\n children,\n CustomFileList,\n onChange: customOnChange,\n ...props\n}: {\n name: FieldPath<T>;\n label?: string;\n isMultiple?: boolean;\n maxFiles?: number;\n children?: React.ReactNode;\n CustomFileList?: React.ComponentType;\n onChange?: (files: File[] | File | null) => void;\n} & Omit<\n React.ComponentProps<typeof FileUploadField>,\n \"hookedForm\" | \"field\" | \"onChange\"\n>) {\n const { control, formState } = useFormContext<T>() as UseFormReturn;\n const fieldError = formState.errors[name];\n const hasValidationError = !!fieldError;\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: formField }) => (\n <div className=\"space-y-1\">\n {label && (\n <label htmlFor={name} className=\"font-medium\">\n {label}\n </label>\n )}\n <FileUploadField\n field={{ name, isMultiple, maxFiles, children }}\n CustomFileList={CustomFileList}\n hasValidationError={hasValidationError}\n value={formField.value || (isMultiple ? [] : undefined)}\n onChange={(files) => {\n // Update form field value\n formField.onChange(files);\n // Call custom onChange if provided\n if (customOnChange) {\n customOnChange(files);\n }\n }}\n onBlur={formField.onBlur}\n name={formField.name}\n {...props}\n />\n </div>\n )}\n />\n );\n};\n\n// Define DatePickerInputProps here since it's not exported\ninterface DatePickerInputProps extends React.ComponentProps<\"button\"> {\n date: Date | undefined;\n setDate: (date: Date | undefined) => void;\n placeholder?: string;\n}\n\nForm.DateInputField = function DateInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n disablePast,\n required,\n ...props\n}: { name: FieldPath<T>; label?: string; required?: boolean } & Omit<\n DatePickerInputProps,\n \"date\" | \"setDate\"\n> & {\n disablePast?: boolean;\n required?: boolean;\n }) {\n const { control, watch, setValue } = useFormContext<T>();\n const value = watch(name);\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n required,\n render: (\n <DatePickerInput\n {...props}\n date={value}\n setDate={(date) => setValue(name, date as PathValue<T, Path<T>>)}\n disablePast={disablePast}\n />\n ),\n }}\n />\n );\n};\n\nForm.TimeInputField = function TimeInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T>; label?: string } & React.ComponentProps<\n typeof TimePicker\n>) {\n const { control, setValue } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n render: (\n <TimePicker\n onValueChange={(value) => {\n setValue(name, value as any);\n }}\n {...props}\n />\n ),\n }}\n />\n );\n};\n\nForm.CheckboxField = function CheckboxField<\n T extends FieldValues = FieldValues,\n>({\n name,\n label,\n ...props\n}: { name: FieldPath<T> } & Omit<\n React.ComponentProps<typeof Checkbox>,\n \"value\"\n>) {\n const { control } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n render: <Checkbox value={name} label={label} {...props} />,\n }}\n />\n );\n};\n\nForm.OTPInputField = function OTPInputField<\n T extends FieldValues = FieldValues,\n>({\n name,\n ...props\n}: { name: FieldPath<T> } & React.ComponentProps<typeof OTPInput>) {\n const { control } = useFormContext<T>();\n return (\n <FormField\n className=\"w-full\"\n control={control}\n field={{ name, render: <OTPInput {...props} /> }}\n />\n );\n};\n\nForm.RadioField = function RadioField<T extends FieldValues = FieldValues>({\n name,\n label,\n ...props\n}: { name: FieldPath<T>; label?: string } & React.ComponentProps<\n typeof Radio\n>) {\n const { control } = useFormContext<T>();\n const { setValue } = useFormContext<T>();\n return (\n <FormField\n control={control}\n field={{\n name,\n label,\n render: (\n <Radio\n {...props}\n onValueChange={(value) => setValue(name, value as any)}\n />\n ),\n }}\n />\n );\n};\n\nForm.ComboboxField = function ComboboxField<\n T extends FieldValues = FieldValues,\n>({\n name,\n ...props\n}: { name: FieldPath<T> } & Omit<\n React.ComponentProps<typeof Combobox>,\n \"onChange\"\n>) {\n const { control, setValue, watch } = useFormContext<T>();\n const value = watch(name);\n return (\n <FormField\n control={control}\n field={{\n name,\n render: (\n <Combobox\n {...props}\n value={value || \"\"}\n onChange={(val) => setValue(name, val as PathValue<T, Path<T>>)}\n />\n ),\n }}\n />\n );\n};\n\n\nForm.SwitchField = function SwitchField<T extends FieldValues = FieldValues>({\n name,\n label,\n prefix,\n suffix,\n className,\n ...props\n}: {\n name: FieldPath<T>;\n label?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n className?: string;\n} & Omit<React.ComponentProps<typeof Switch>, \"checked\" | \"onCheckedChange\">) {\n const { control, setValue, watch } = useFormContext<T>();\n const value = watch(name);\n return (\n <FormField\n control={control}\n className={cn(\"w-full\", className)}\n field={{\n name,\n label,\n render: (\n <div className=\"flex items-center\">\n {prefix && <span className=\"mr-2\">{prefix}</span>}\n <Switch\n {...props}\n checked={!!value}\n onCheckedChange={(checked) =>\n setValue(name, checked as PathValue<T, Path<T>>)\n }\n />\n {suffix && <span className=\"ml-2\">{suffix}</span>}\n </div>\n ),\n }}\n />\n );\n};\n\nexport { Form };\n","// Design Tokens CSS Variables TypeScript Definitions\n// Generated from design tokens\n\nexport interface DesignTokens {\n 'color-slate-50': string;\n 'color-slate-100': string;\n 'color-slate-200': string;\n 'color-slate-300': string;\n 'color-slate-400': string;\n 'color-slate-500': string;\n 'color-slate-600': string;\n 'color-slate-700': string;\n 'color-slate-800': string;\n 'color-slate-900': string;\n 'color-slate-950': string;\n 'color-red-50': string;\n 'color-red-100': string;\n 'color-red-200': string;\n 'color-red-300': string;\n 'color-red-400': string;\n 'color-red-500': string;\n 'color-red-600': string;\n 'color-red-700': string;\n 'color-red-800': string;\n 'color-red-900': string;\n 'color-red-950': string;\n 'color-orange-50': string;\n 'color-orange-100': string;\n 'color-orange-200': string;\n 'color-orange-300': string;\n 'color-orange-400': string;\n 'color-orange-500': string;\n 'color-orange-600': string;\n 'color-orange-700': string;\n 'color-orange-800': string;\n 'color-orange-900': string;\n 'color-orange-950': string;\n 'color-amber-50': string;\n 'color-amber-100': string;\n 'color-amber-200': string;\n 'color-amber-300': string;\n 'color-amber-400': string;\n 'color-amber-500': string;\n 'color-amber-600': string;\n 'color-amber-700': string;\n 'color-amber-800': string;\n 'color-amber-900': string;\n 'color-amber-950': string;\n 'color-yellow-50': string;\n 'color-yellow-100': string;\n 'color-yellow-200': string;\n 'color-yellow-300': string;\n 'color-yellow-400': string;\n 'color-yellow-500': string;\n 'color-yellow-600': string;\n 'color-yellow-700': string;\n 'color-yellow-800': string;\n 'color-yellow-900': string;\n 'color-yellow-950': string;\n 'color-lime-50': string;\n 'color-lime-100': string;\n 'color-lime-200': string;\n 'color-lime-300': string;\n 'color-lime-400': string;\n 'color-lime-500': string;\n 'color-lime-600': string;\n 'color-lime-700': string;\n 'color-lime-800': string;\n 'color-lime-900': string;\n 'color-lime-950': string;\n 'color-green-50': string;\n 'color-green-100': string;\n 'color-green-200': string;\n 'color-green-300': string;\n 'color-green-400': string;\n 'color-green-500': string;\n 'color-green-600': string;\n 'color-green-700': string;\n 'color-green-800': string;\n 'color-green-900': string;\n 'color-green-950': string;\n 'color-emerald-50': string;\n 'color-emerald-100': string;\n 'color-emerald-200': string;\n 'color-emerald-300': string;\n 'color-emerald-400': string;\n 'color-emerald-500': string;\n 'color-emerald-600': string;\n 'color-emerald-700': string;\n 'color-emerald-800': string;\n 'color-emerald-900': string;\n 'color-emerald-950': string;\n 'color-teal-50': string;\n 'color-teal-100': string;\n 'color-teal-200': string;\n 'color-teal-300': string;\n 'color-teal-400': string;\n 'color-teal-500': string;\n 'color-teal-600': string;\n 'color-teal-700': string;\n 'color-teal-800': string;\n 'color-teal-900': string;\n 'color-teal-950': string;\n 'color-cyan-50': string;\n 'color-cyan-100': string;\n 'color-cyan-200': string;\n 'color-cyan-300': string;\n 'color-cyan-400': string;\n 'color-cyan-500': string;\n 'color-cyan-600': string;\n 'color-cyan-700': string;\n 'color-cyan-800': string;\n 'color-cyan-900': string;\n 'color-cyan-950': string;\n 'color-sky-50': string;\n 'color-sky-100': string;\n 'color-sky-200': string;\n 'color-sky-300': string;\n 'color-sky-400': string;\n 'color-sky-500': string;\n 'color-sky-600': string;\n 'color-sky-700': string;\n 'color-sky-800': string;\n 'color-sky-900': string;\n 'color-sky-950': string;\n 'color-blue-50': string;\n 'color-blue-100': string;\n 'color-blue-200': string;\n 'color-blue-300': string;\n 'color-blue-400': string;\n 'color-blue-500': string;\n 'color-blue-600': string;\n 'color-blue-700': string;\n 'color-blue-800': string;\n 'color-blue-900': string;\n 'color-blue-950': string;\n 'color-indigo-50': string;\n 'color-indigo-100': string;\n 'color-indigo-200': string;\n 'color-indigo-300': string;\n 'color-indigo-400': string;\n 'color-indigo-500': string;\n 'color-indigo-600': string;\n 'color-indigo-700': string;\n 'color-indigo-800': string;\n 'color-indigo-900': string;\n 'color-indigo-950': string;\n 'color-violet-50': string;\n 'color-violet-100': string;\n 'color-violet-200': string;\n 'color-violet-300': string;\n 'color-violet-400': string;\n 'color-violet-500': string;\n 'color-violet-600': string;\n 'color-violet-700': string;\n 'color-violet-800': string;\n 'color-violet-900': string;\n 'color-violet-950': string;\n 'color-purple-50': string;\n 'color-purple-100': string;\n 'color-purple-200': string;\n 'color-purple-300': string;\n 'color-purple-400': string;\n 'color-purple-500': string;\n 'color-purple-600': string;\n 'color-purple-700': string;\n 'color-purple-800': string;\n 'color-purple-900': string;\n 'color-purple-950': string;\n 'color-fuchsia-50': string;\n 'color-fuchsia-100': string;\n 'color-fuchsia-200': string;\n 'color-fuchsia-300': string;\n 'color-fuchsia-400': string;\n 'color-fuchsia-500': string;\n 'color-fuchsia-600': string;\n 'color-fuchsia-700': string;\n 'color-fuchsia-800': string;\n 'color-fuchsia-900': string;\n 'color-fuchsia-950': string;\n 'color-pink-50': string;\n 'color-pink-100': string;\n 'color-pink-200': string;\n 'color-pink-300': string;\n 'color-pink-400': string;\n 'color-pink-500': string;\n 'color-pink-600': string;\n 'color-pink-700': string;\n 'color-pink-800': string;\n 'color-pink-900': string;\n 'color-pink-950': string;\n 'color-rose-50': string;\n 'color-rose-100': string;\n 'color-rose-200': string;\n 'color-rose-300': string;\n 'color-rose-400': string;\n 'color-rose-500': string;\n 'color-rose-600': string;\n 'color-rose-700': string;\n 'color-rose-800': string;\n 'color-rose-900': string;\n 'color-rose-950': string;\n 'color-neutral-black': string;\n 'color-neutral-white': string;\n 'typography-font-sans': string;\n 'typography-text-sm': string;\n 'typography-text-base': string;\n 'typography-text-lg': string;\n 'typography-text-xl': string;\n 'typography-text-2xl': string;\n 'typography-text-3xl': string;\n 'typography-text-4xl': string;\n 'typography-text-5xl': string;\n 'typography-text-6xl': string;\n 'typography-text-7xl': string;\n 'typography-leading-1': string;\n 'typography-leading-2': string;\n 'typography-leading-3': string;\n 'typography-leading-4': string;\n 'typography-leading-5': string;\n 'typography-leading-6': string;\n 'typography-leading-7': string;\n 'typography-leading-8': string;\n 'typography-leading-9': string;\n 'typography-leading-10': string;\n 'font-weight-500': string;\n 'font-weight-600': string;\n 'font-weight-700': string;\n 'tracking-0': string;\n 'typography-paragraph-8': string;\n 'typography-paragraph-16': string;\n 'typography-paragraph-20': string;\n 'typography-paragraph-24': string;\n 'spacing-unit-2px': string;\n 'spacing-unit-4px': string;\n 'spacing-unit-6px': string;\n 'spacing-unit-8px': string;\n 'spacing-unit-10px': string;\n 'spacing-unit-12px': string;\n 'spacing-unit-14px': string;\n 'spacing-unit-16px': string;\n 'spacing-unit-24px': string;\n 'spacing-unit-32px': string;\n 'spacing-unit-40px': string;\n 'spacing-unit-0px': string;\n 'spacing-unit-128px': string;\n 'spacing-unit--8px': string;\n 'spacing-unit--16px': string;\n 'spacing-unit--4px': string;\n 'spacing-unit-1px': string;\n 'spacing-unit-64px': string;\n 'spacing-unit--24px': string;\n 'radius-unit-corner-radius-xs': string;\n 'radius-unit-corner-radius-sm': string;\n 'radius-unit-corner-radius-md': string;\n 'radius-unit-corner-radius-lg': string;\n 'radius-unit-corner-radius-xl': string;\n 'radius-unit-corner-radius-2xl': string;\n 'radius-unit-corner-radius-3xl': string;\n 'radius-unit-corner-radius-5xl': string;\n 'radius-unit-corner-radius-none': string;\n 'radius-unit-corner-radius-rounded-full': string;\n 'radius-unit-corner-radius-6xl': string;\n 'radius-unit-corner-radius-7xl': string;\n 'radius-unit-corner-radius-4xl': string;\n 'border-width-unit-border-width-sm': string;\n 'border-width-unit-border-width-md': string;\n 'border-width-unit-border-width-lg': string;\n 'opacity-unit-xs': string;\n 'opacity-unit-sm': string;\n 'opacity-unit-md': string;\n 'opacity-unit-lg': string;\n 'opacity-unit-xl': string;\n 'opacity-unit-2xl': string;\n 'unit-blur-xs': string;\n 'unit-blur-sm': string;\n 'unit-blur-md': string;\n 'unit-blur-lg': string;\n 'unit-blur-xl': string;\n 'unit-blur-2xl': string;\n 'unit-blur-none': string;\n 'color-button-primary-enabled': string;\n 'color-button-primary-hovered': string;\n 'color-button-primary-pressed': string;\n 'color-button-primary-disabled': string;\n 'color-button-secondary-enabled': string;\n 'color-button-secondary-hovered': string;\n 'color-button-secondary-pressed': string;\n 'color-button-secondary-disabled': string;\n 'color-button-outline-enabled': string;\n 'color-button-outline-hovered': string;\n 'color-button-outline-pressed': string;\n 'color-button-outline-disabled': string;\n 'color-button-destructive-enabled': string;\n 'color-button-destructive-hovered': string;\n 'color-button-destructive-pressed': string;\n 'color-button-destructive-disabled': string;\n 'color-button-soft-enabled': string;\n 'color-button-soft-hovered': string;\n 'color-button-soft-pressed': string;\n 'color-button-soft-disabled': string;\n 'color-button-ghost-enabled': string;\n 'color-button-ghost-hovered': string;\n 'color-button-ghost-pressed': string;\n 'color-button-ghost-disabled': string;\n 'color-button-glass-enabled': string;\n 'color-button-glass-hovered': string;\n 'color-button-glass-pressed': string;\n 'color-button-glass-disabled': string;\n 'color-chip-slate-enabled': string;\n 'color-chip-slate-hovered': string;\n 'color-chip-red-enabled': string;\n 'color-chip-red-hovered': string;\n 'color-chip-orange-enabled': string;\n 'color-chip-orange-hovered': string;\n 'color-chip-amber-enabled': string;\n 'color-chip-amber-hovered': string;\n 'color-chip-yellow-enabled': string;\n 'color-chip-yellow-hovered': string;\n 'color-chip-lime-enabled': string;\n 'color-chip-lime-hovered': string;\n 'color-chip-green-enabled': string;\n 'color-chip-green-hovered': string;\n 'color-chip-emerald-enabled': string;\n 'color-chip-emerald-hovered': string;\n 'color-chip-teal-enabled': string;\n 'color-chip-teal-hovered': string;\n 'color-chip-cyan-enabled': string;\n 'color-chip-cyan-hovered': string;\n 'color-chip-sky-enabled': string;\n 'color-chip-sky-hovered': string;\n 'color-chip-blue-enabled': string;\n 'color-chip-blue-hovered': string;\n 'color-chip-indigo-enabled': string;\n 'color-chip-indigo-hovered': string;\n 'color-chip-violet-enabled': string;\n 'color-chip-violet-hovered': string;\n 'color-chip-purple-enabled': string;\n 'color-chip-purple-hovered': string;\n 'color-chip-fuchsia-enabled': string;\n 'color-chip-fuchsia-hovered': string;\n 'color-chip-pink-enabled': string;\n 'color-chip-pink-hovered': string;\n 'color-chip-rose-enabled': string;\n 'color-chip-rose-hovered': string;\n 'color-data-table-unselected-enabled': string;\n 'color-data-table-unselected-hovered': string;\n 'color-data-table-unselected-focused': string;\n 'color-data-table-selected-enabled': string;\n 'color-data-table-selected-hovered': string;\n 'color-data-table-selected-focused': string;\n 'color-check-box-and-radio-checked-enabled': string;\n 'color-check-box-and-radio-checked-hovered': string;\n 'color-check-box-and-radio-checked-disabled': string;\n 'color-check-box-and-radio-unchecked-enabled': string;\n 'color-check-box-and-radio-unchecked-disabled': string;\n 'color-check-box-and-radio-unchecked-hovered': string;\n 'color-input-outline-enabled': string;\n 'color-input-outline-disabled': string;\n 'color-input-outline-hovered': string;\n 'color-input-ghost-enabled': string;\n 'color-input-ghost-hovered': string;\n 'color-input-ghost-disabled': string;\n 'color-button-switch-on-enabled': string;\n 'color-button-switch-on-hovered': string;\n 'color-button-switch-on-disabled': string;\n 'color-button-switch-off-enabled': string;\n 'color-button-switch-off-hovered': string;\n 'color-button-switch-off-disabled': string;\n 'color-chat-bubble-primary-enabled': string;\n 'color-chat-bubble-primary-hovered': string;\n 'color-chat-bubble-neutral-enabled': string;\n 'color-chat-bubble-neutral-hovered': string;\n 'color-button-toggle-unselected-primary-enabled': string;\n 'color-button-toggle-unselected-primary-hovered': string;\n 'color-button-toggle-unselected-primary-pressed': string;\n 'color-button-toggle-unselected-secondary-enabled': string;\n 'color-button-toggle-unselected-secondary-hovered': string;\n 'color-button-toggle-unselected-secondary-pressed': string;\n 'color-button-toggle-unselected-destructive-enabled': string;\n 'color-button-toggle-unselected-destructive-hovered': string;\n 'color-button-toggle-unselected-destructive-pressed': string;\n 'color-button-toggle-selected-primary-enabled': string;\n 'color-button-toggle-selected-primary-hovered': string;\n 'color-button-toggle-selected-primary-pressed': string;\n 'color-button-toggle-selected-secondary-enabled': string;\n 'color-button-toggle-selected-secondary-hovered': string;\n 'color-button-toggle-selected-secondary-pressed': string;\n 'color-button-toggle-selected-destructive-enabled': string;\n 'color-button-toggle-selected-destructive-hovered': string;\n 'color-button-toggle-selected-destructive-pressed': string;\n 'color-tab-primary-enabled': string;\n 'color-tab-primary-hovered': string;\n 'color-tab-primary-pressed': string;\n 'color-tab-primary-active': string;\n 'color-menu-panel-unselected-enabled': string;\n 'color-menu-panel-unselected-hovered': string;\n 'color-menu-panel-selected-enabled': string;\n 'color-menu-panel-selected-hovered': string;\n 'color-toast-error': string;\n 'color-toast-warning': string;\n 'color-toast-success': string;\n 'color-toast-info': string;\n 'color-navigation-hovered': string;\n 'color-navigation-selected': string;\n 'color-toggle-ghost-inactive-enabled': string;\n 'color-toggle-ghost-inactive-hovered': string;\n 'color-toggle-ghost-inactive-pressed': string;\n 'color-toggle-ghost-inactive-disabled': string;\n 'color-toggle-ghost-active-enabled': string;\n 'color-toggle-ghost-active-hovered': string;\n 'color-toggle-ghost-active-pressed': string;\n 'color-toggle-ghost-active-disabled': string;\n 'color-toggle-outline-active-enabled': string;\n 'color-toggle-outline-active-hovered': string;\n 'color-toggle-outline-active-pressed': string;\n 'color-toggle-outline-active-disabled': string;\n 'color-toggle-outline-inactive-enabled': string;\n 'color-toggle-outline-inactive-hovered': string;\n 'color-toggle-outline-inactive-pressed': string;\n 'color-toggle-outline-inactive-disabled': string;\n 'color-toggle-soft-active-enabled': string;\n 'color-toggle-soft-active-hovered': string;\n 'color-toggle-soft-active-pressed': string;\n 'color-toggle-soft-active-disabled': string;\n 'color-toggle-soft-inactive-enabled': string;\n 'color-toggle-soft-inactive-hovered': string;\n 'color-toggle-soft-inactive-pressed': string;\n 'color-toggle-soft-inactive-disabled': string;\n 'color-utility-tab-inactive-enabled': string;\n 'color-utility-tab-inactive-hovered': string;\n 'color-utility-tab-active-enabled': string;\n 'color-utility-tab-active-hovered': string;\n 'color-filter-chip-unselected-enabled': string;\n 'color-filter-chip-unselected-hovered': string;\n 'color-filter-chip-selected-enabled': string;\n 'color-filter-chip-selected-hovered': string;\n 'pagination-page-tab-enabled': string;\n 'pagination-page-tab-hovered': string;\n 'pagination-page-tab-pressed': string;\n 'pagination-page-tab-actived': string;\n 'color-comment-opened-enabled': string;\n 'color-comment-opened-hovered': string;\n 'color-comment-opened-actived': string;\n 'color-comment-closed-enabled': string;\n 'color-comment-closed-hovered': string;\n 'color-comment-closed-actived': string;\n 'list-enabled': string;\n 'list-hovered': string;\n 'list-actived': string;\n 'color-dropdown-hovered': string;\n 'color-notificationCard-enabled': string;\n 'color-notificationCard-hovered': string;\n 'color-table-table-cell-unselected': string;\n 'color-table-table-cell-selected': string;\n 'color-table-table-header-default': string;\n 'color-fill-background': string;\n 'color-fill-foreground': string;\n 'color-fill-static-red-01': string;\n 'color-fill-static-red-03': string;\n 'color-fill-static-red-05': string;\n 'color-fill-static-red-04': string;\n 'color-fill-static-red-02': string;\n 'color-fill-static-red-06': string;\n 'color-fill-static-orange-01': string;\n 'color-fill-static-orange-02': string;\n 'color-fill-static-orange-03': string;\n 'color-fill-static-amber-01': string;\n 'color-fill-static-amber-02': string;\n 'color-fill-static-amber-03': string;\n 'color-fill-static-yellow-01': string;\n 'color-fill-static-yellow-02': string;\n 'color-fill-static-yellow-03': string;\n 'color-fill-static-lime-01': string;\n 'color-fill-static-lime-02': string;\n 'color-fill-static-lime-03': string;\n 'color-fill-static-green-01': string;\n 'color-fill-static-green-03': string;\n 'color-fill-static-green-05': string;\n 'color-fill-static-green-02': string;\n 'color-fill-static-green-04': string;\n 'color-fill-static-emerald-01': string;\n 'color-fill-static-emerald-02': string;\n 'color-fill-static-emerald-03': string;\n 'color-fill-static-teal-01': string;\n 'color-fill-static-teal-02': string;\n 'color-fill-static-teal-03': string;\n 'color-fill-static-cyan-01': string;\n 'color-fill-static-cyan-02': string;\n 'color-fill-static-cyan-03': string;\n 'color-fill-static-sky-01': string;\n 'color-fill-static-sky-02': string;\n 'color-fill-static-sky-03': string;\n 'color-fill-static-blue-01': string;\n 'color-fill-static-blue-03': string;\n 'color-fill-static-blue-05': string;\n 'color-fill-static-blue-02': string;\n 'color-fill-static-blue-04': string;\n 'color-fill-static-blue-06': string;\n 'color-fill-static-indigo-01': string;\n 'color-fill-static-indigo-02': string;\n 'color-fill-static-indigo-03': string;\n 'color-fill-static-violet-01': string;\n 'color-fill-static-violet-02': string;\n 'color-fill-static-violet-03': string;\n 'color-fill-static-purple-01': string;\n 'color-fill-static-purple-02': string;\n 'color-fill-static-purple-03': string;\n 'color-fill-static-fuchsia-01': string;\n 'color-fill-static-fuchsia-02': string;\n 'color-fill-static-fuchsia-03': string;\n 'color-fill-static-pink-01': string;\n 'color-fill-static-pink-02': string;\n 'color-fill-static-pink-03': string;\n 'color-fill-static-rose-01': string;\n 'color-fill-static-rose-02': string;\n 'color-fill-static-rose-dark': string;\n 'color-fill-static-slate-01': string;\n 'color-fill-static-slate-02': string;\n 'color-fill-static-slate-03': string;\n 'color-fill-static-slate-04': string;\n 'color-fill-static-slate-05': string;\n 'color-fill-inverse-slate-10': string;\n 'color-fill-inverse-slate-01': string;\n 'color-fill-inverse-slate-03': string;\n 'color-fill-inverse-slate-07': string;\n 'color-fill-inverse-slate-06': string;\n 'color-fill-inverse-slate-08': string;\n 'color-fill-inverse-slate-09': string;\n 'color-fill-inverse-slate-04': string;\n 'color-fill-inverse-slate-05': string;\n 'color-fill-inverse-slate-02': string;\n 'color-fill-inverse-blue-01': string;\n 'color-fill-inverse-blue-02': string;\n 'color-fill-inverse-red-01': string;\n 'color-fill-inverse-red-02': string;\n 'color-fill-inverse-orange-01': string;\n 'color-fill-inverse-orange-02': string;\n 'color-fill-inverse-yellow-01': string;\n 'color-fill-inverse-yellow-02': string;\n 'color-fill-inverse-lime-01': string;\n 'color-fill-inverse-lime-02': string;\n 'color-fill-inverse-green-01': string;\n 'color-fill-inverse-green-02': string;\n 'color-fill-inverse-emerald-01': string;\n 'color-fill-inverse-emerald-02': string;\n 'color-fill-inverse-teal-01': string;\n 'color-fill-inverse-teal-02': string;\n 'color-fill-inverse-cyan-01': string;\n 'color-fill-inverse-cyan-02': string;\n 'color-fill-inverse-sky-01': string;\n 'color-fill-inverse-sky-02': string;\n 'color-fill-inverse-violet-01': string;\n 'color-fill-inverse-violet-02': string;\n 'color-fill-inverse-indigo-01': string;\n 'color-fill-inverse-indigo-02': string;\n 'color-fill-inverse-purple-01': string;\n 'color-fill-inverse-purple-02': string;\n 'color-fill-inverse-fuchsia-01': string;\n 'color-fill-inverse-fuchsia-02': string;\n 'color-fill-inverse-pink-01': string;\n 'color-fill-inverse-pink-02': string;\n 'color-fill-inverse-rose-01': string;\n 'color-fill-inverse-rose-02': string;\n 'color-fill-inverse-amber-01': string;\n 'color-fill-inverse-amber-02': string;\n 'color-stroke-inverse-slate-01': string;\n 'color-stroke-inverse-slate-03': string;\n 'color-stroke-inverse-slate-04': string;\n 'color-stroke-inverse-slate-02': string;\n 'color-stroke-inverse-red-01': string;\n 'color-stroke-inverse-red-02': string;\n 'color-stroke-inverse-orange-01': string;\n 'color-stroke-inverse-orange-02': string;\n 'color-stroke-inverse-amber-01': string;\n 'color-stroke-inverse-amber-02': string;\n 'color-stroke-inverse-yellow-01': string;\n 'color-stroke-inverse-yellow-02': string;\n 'color-stroke-inverse-lime-01': string;\n 'color-stroke-inverse-lime-02': string;\n 'color-stroke-inverse-green-01': string;\n 'color-stroke-inverse-green-02': string;\n 'color-stroke-inverse-emerald-01': string;\n 'color-stroke-inverse-emerald-02': string;\n 'color-stroke-inverse-teal-01': string;\n 'color-stroke-inverse-teal-02': string;\n 'color-stroke-inverse-cyan-01': string;\n 'color-stroke-inverse-cyan-02': string;\n 'color-stroke-inverse-sky-01': string;\n 'color-stroke-inverse-sky-02': string;\n 'color-stroke-inverse-blue-01': string;\n 'color-stroke-inverse-blue-02': string;\n 'color-stroke-inverse-indigo-01': string;\n 'color-stroke-inverse-indigo-02': string;\n 'color-stroke-inverse-violet-01': string;\n 'color-stroke-inverse-violet-02': string;\n 'color-stroke-inverse-purple-01': string;\n 'color-stroke-inverse-purple-02': string;\n 'color-stroke-inverse-fuchsia-01': string;\n 'color-stroke-inverse-fuchsia-02': string;\n 'color-stroke-inverse-pink-01': string;\n 'color-stroke-inverse-pink-02': string;\n 'color-stroke-inverse-rose-01': string;\n 'color-stroke-inverse-rose-02': string;\n 'color-stroke-static-slate-01': string;\n 'color-stroke-static-slate-02': string;\n 'color-stroke-static-slate-03': string;\n 'color-stroke-static-slate-04': string;\n 'color-stroke-static-slate-05': string;\n 'color-stroke-static-red-01': string;\n 'color-stroke-static-red-02': string;\n 'color-stroke-static-red-03': string;\n 'color-stroke-static-red-04': string;\n 'color-stroke-static-red-05': string;\n 'color-stroke-static-orange-01': string;\n 'color-stroke-static-orange-02': string;\n 'color-stroke-static-orange-03': string;\n 'color-stroke-static-amber-01': string;\n 'color-stroke-static-amber-02': string;\n 'color-stroke-static-amber-03': string;\n 'color-stroke-static-yellow-01': string;\n 'color-stroke-static-yellow-02': string;\n 'color-stroke-static-yellow-03': string;\n 'color-stroke-static-lime-01': string;\n 'color-stroke-static-lime-02': string;\n 'color-stroke-static-lime-03': string;\n 'color-stroke-static-green-01': string;\n 'color-stroke-static-green-02': string;\n 'color-stroke-static-green-03': string;\n 'color-stroke-static-emerald-01': string;\n 'color-stroke-static-emerald-02': string;\n 'color-stroke-static-emerald-03': string;\n 'color-stroke-static-teal-01': string;\n 'color-stroke-static-teal-02': string;\n 'color-stroke-static-teal-03': string;\n 'color-stroke-static-cyan-01': string;\n 'color-stroke-static-cyan-02': string;\n 'color-stroke-static-cyan-03': string;\n 'color-stroke-static-sky-01': string;\n 'color-stroke-static-sky-02': string;\n 'color-stroke-static-sky-03': string;\n 'color-stroke-static-blue-01': string;\n 'color-stroke-static-blue-02': string;\n 'color-stroke-static-blue-03': string;\n 'color-stroke-static-blue-04': string;\n 'color-stroke-static-blue-05': string;\n 'color-stroke-static-indigo-01': string;\n 'color-stroke-static-indigo-02': string;\n 'color-stroke-static-indigo-03': string;\n 'color-stroke-static-violet-01': string;\n 'color-stroke-static-violet-02': string;\n 'color-stroke-static-violet-03': string;\n 'color-stroke-static-purple-01': string;\n 'color-stroke-static-purple-02': string;\n 'color-stroke-static-purple-03': string;\n 'color-stroke-static-fuchsia-01': string;\n 'color-stroke-static-fuchsia-02': string;\n 'color-stroke-static-fuchsia-03': string;\n 'color-stroke-static-pink-01': string;\n 'color-stroke-static-pink-02': string;\n 'color-stroke-static-pink-03': string;\n 'color-stroke-static-rose-01': string;\n 'color-stroke-static-rose-02': string;\n 'color-stroke-static-rose-dark': string;\n 'color-element-inverse-default': string;\n 'color-element-inverse-gray': string;\n 'color-element-inverse-disabled': string;\n 'color-element-inverse-red': string;\n 'color-element-inverse-default-alt': string;\n 'color-element-inverse-blue': string;\n 'color-element-inverse-orange': string;\n 'color-element-inverse-amber': string;\n 'color-element-inverse-yellow': string;\n 'color-element-inverse-lime': string;\n 'color-element-inverse-green': string;\n 'color-element-inverse-emerald': string;\n 'color-element-inverse-teal': string;\n 'color-element-inverse-cyan': string;\n 'color-element-inverse-sky': string;\n 'color-element-inverse-indigo': string;\n 'color-element-inverse-violet': string;\n 'color-element-inverse-purple': string;\n 'color-element-inverse-fuchsia': string;\n 'color-element-inverse-pink': string;\n 'color-element-inverse-rose': string;\n 'color-element-inverse-soft': string;\n 'color-element-static-black': string;\n 'color-element-static-white': string;\n 'color-element-static-red': string;\n 'color-element-static-blue': string;\n 'color-element-static-orange': string;\n 'color-element-static-amber': string;\n 'color-element-static-yellow': string;\n 'color-element-static-lime': string;\n 'color-element-static-green': string;\n 'color-element-static-emerald': string;\n 'color-element-static-teal': string;\n 'color-element-static-cyan': string;\n 'color-element-static-sky': string;\n 'color-element-static-indigo': string;\n 'color-element-static-violet': string;\n 'color-element-static-purple': string;\n 'color-element-static-fuchsia': string;\n 'color-element-static-pink': string;\n 'color-element-static-rose': string;\n 'color-chart-inverse-slate-10': string;\n 'color-chart-inverse-slate-11': string;\n 'color-chart-inverse-slate-01': string;\n 'color-chart-inverse-slate-02': string;\n 'color-chart-inverse-slate-03': string;\n 'color-chart-inverse-slate-04': string;\n 'color-chart-inverse-slate-05': string;\n 'color-chart-inverse-slate-06': string;\n 'color-chart-inverse-slate-08': string;\n 'color-chart-inverse-slate-09': string;\n 'color-chart-inverse-slate-07': string;\n 'color-chart-inverse-red-10': string;\n 'color-chart-inverse-red-11': string;\n 'color-chart-inverse-red-01': string;\n 'color-chart-inverse-red-02': string;\n 'color-chart-inverse-red-03': string;\n 'color-chart-inverse-red-04': string;\n 'color-chart-inverse-red-05': string;\n 'color-chart-inverse-red-06': string;\n 'color-chart-inverse-red-07': string;\n 'color-chart-inverse-red-08': string;\n 'color-chart-inverse-red-09': string;\n 'color-chart-inverse-orange-10': string;\n 'color-chart-inverse-orange-11': string;\n 'color-chart-inverse-orange-01': string;\n 'color-chart-inverse-orange-02': string;\n 'color-chart-inverse-orange-03': string;\n 'color-chart-inverse-orange-04': string;\n 'color-chart-inverse-orange-05': string;\n 'color-chart-inverse-orange-06': string;\n 'color-chart-inverse-orange-07': string;\n 'color-chart-inverse-orange-08': string;\n 'color-chart-inverse-orange-09': string;\n 'color-chart-inverse-amber-10': string;\n 'color-chart-inverse-amber-11': string;\n 'color-chart-inverse-amber-01': string;\n 'color-chart-inverse-amber-02': string;\n 'color-chart-inverse-amber-03': string;\n 'color-chart-inverse-amber-04': string;\n 'color-chart-inverse-amber-05': string;\n 'color-chart-inverse-amber-06': string;\n 'color-chart-inverse-amber-07': string;\n 'color-chart-inverse-amber-08': string;\n 'color-chart-inverse-amber-09': string;\n 'color-chart-inverse-yellow-10': string;\n 'color-chart-inverse-yellow-11': string;\n 'color-chart-inverse-yellow-01': string;\n 'color-chart-inverse-yellow-02': string;\n 'color-chart-inverse-yellow-03': string;\n 'color-chart-inverse-yellow-04': string;\n 'color-chart-inverse-yellow-05': string;\n 'color-chart-inverse-yellow-06': string;\n 'color-chart-inverse-yellow-07': string;\n 'color-chart-inverse-yellow-08': string;\n 'color-chart-inverse-yellow-09': string;\n 'color-chart-inverse-blue-10': string;\n 'color-chart-inverse-blue-11': string;\n 'color-chart-inverse-blue-01': string;\n 'color-chart-inverse-blue-02': string;\n 'color-chart-inverse-blue-03': string;\n 'color-chart-inverse-blue-04': string;\n 'color-chart-inverse-blue-05': string;\n 'color-chart-inverse-blue-06': string;\n 'color-chart-inverse-blue-07': string;\n 'color-chart-inverse-blue-08': string;\n 'color-chart-inverse-blue-09': string;\n 'color-chart-inverse-indigo-10': string;\n 'color-chart-inverse-indigo-11': string;\n 'color-chart-inverse-indigo-01': string;\n 'color-chart-inverse-indigo-02': string;\n 'color-chart-inverse-indigo-03': string;\n 'color-chart-inverse-indigo-04': string;\n 'color-chart-inverse-indigo-05': string;\n 'color-chart-inverse-indigo-06': string;\n 'color-chart-inverse-indigo-07': string;\n 'color-chart-inverse-indigo-08': string;\n 'color-chart-inverse-indigo-09': string;\n 'color-chart-inverse-sky-10': string;\n 'color-chart-inverse-sky-11': string;\n 'color-chart-inverse-sky-01': string;\n 'color-chart-inverse-sky-02': string;\n 'color-chart-inverse-sky-03': string;\n 'color-chart-inverse-sky-04': string;\n 'color-chart-inverse-sky-05': string;\n 'color-chart-inverse-sky-06': string;\n 'color-chart-inverse-sky-07': string;\n 'color-chart-inverse-sky-08': string;\n 'color-chart-inverse-sky-09': string;\n 'color-chart-inverse-cyan-10': string;\n 'color-chart-inverse-cyan-11': string;\n 'color-chart-inverse-cyan-01': string;\n 'color-chart-inverse-cyan-02': string;\n 'color-chart-inverse-cyan-03': string;\n 'color-chart-inverse-cyan-04': string;\n 'color-chart-inverse-cyan-05': string;\n 'color-chart-inverse-cyan-06': string;\n 'color-chart-inverse-cyan-07': string;\n 'color-chart-inverse-cyan-08': string;\n 'color-chart-inverse-cyan-09': string;\n 'color-chart-inverse-teal-10': string;\n 'color-chart-inverse-teal-11': string;\n 'color-chart-inverse-teal-01': string;\n 'color-chart-inverse-teal-02': string;\n 'color-chart-inverse-teal-03': string;\n 'color-chart-inverse-teal-04': string;\n 'color-chart-inverse-teal-05': string;\n 'color-chart-inverse-teal-06': string;\n 'color-chart-inverse-teal-07': string;\n 'color-chart-inverse-teal-08': string;\n 'color-chart-inverse-teal-09': string;\n 'color-chart-inverse-emerald-10': string;\n 'color-chart-inverse-emerald-11': string;\n 'color-chart-inverse-emerald-01': string;\n 'color-chart-inverse-emerald-02': string;\n 'color-chart-inverse-emerald-03': string;\n 'color-chart-inverse-emerald-04': string;\n 'color-chart-inverse-emerald-05': string;\n 'color-chart-inverse-emerald-06': string;\n 'color-chart-inverse-emerald-07': string;\n 'color-chart-inverse-emerald-08': string;\n 'color-chart-inverse-emerald-09': string;\n 'color-chart-inverse-green-10': string;\n 'color-chart-inverse-green-11': string;\n 'color-chart-inverse-green-01': string;\n 'color-chart-inverse-green-02': string;\n 'color-chart-inverse-green-03': string;\n 'color-chart-inverse-green-04': string;\n 'color-chart-inverse-green-05': string;\n 'color-chart-inverse-green-06': string;\n 'color-chart-inverse-green-07': string;\n 'color-chart-inverse-green-08': string;\n 'color-chart-inverse-green-09': string;\n 'color-chart-inverse-lime-10': string;\n 'color-chart-inverse-lime-11': string;\n 'color-chart-inverse-lime-01': string;\n 'color-chart-inverse-lime-02': string;\n 'color-chart-inverse-lime-03': string;\n 'color-chart-inverse-lime-04': string;\n 'color-chart-inverse-lime-05': string;\n 'color-chart-inverse-lime-06': string;\n 'color-chart-inverse-lime-07': string;\n 'color-chart-inverse-lime-08': string;\n 'color-chart-inverse-lime-09': string;\n 'color-chart-inverse-violet-10': string;\n 'color-chart-inverse-violet-11': string;\n 'color-chart-inverse-violet-01': string;\n 'color-chart-inverse-violet-02': string;\n 'color-chart-inverse-violet-03': string;\n 'color-chart-inverse-violet-04': string;\n 'color-chart-inverse-violet-05': string;\n 'color-chart-inverse-violet-06': string;\n 'color-chart-inverse-violet-07': string;\n 'color-chart-inverse-violet-08': string;\n 'color-chart-inverse-violet-09': string;\n 'color-chart-inverse-purple-10': string;\n 'color-chart-inverse-purple-11': string;\n 'color-chart-inverse-purple-01': string;\n 'color-chart-inverse-purple-02': string;\n 'color-chart-inverse-purple-03': string;\n 'color-chart-inverse-purple-04': string;\n 'color-chart-inverse-purple-05': string;\n 'color-chart-inverse-purple-06': string;\n 'color-chart-inverse-purple-07': string;\n 'color-chart-inverse-purple-08': string;\n 'color-chart-inverse-purple-09': string;\n 'color-chart-inverse-fuchsia-10': string;\n 'color-chart-inverse-fuchsia-11': string;\n 'color-chart-inverse-fuchsia-01': string;\n 'color-chart-inverse-fuchsia-02': string;\n 'color-chart-inverse-fuchsia-03': string;\n 'color-chart-inverse-fuchsia-04': string;\n 'color-chart-inverse-fuchsia-05': string;\n 'color-chart-inverse-fuchsia-06': string;\n 'color-chart-inverse-fuchsia-07': string;\n 'color-chart-inverse-fuchsia-08': string;\n 'color-chart-inverse-fuchsia-09': string;\n 'color-chart-inverse-pink-10': string;\n 'color-chart-inverse-pink-11': string;\n 'color-chart-inverse-pink-01': string;\n 'color-chart-inverse-pink-02': string;\n 'color-chart-inverse-pink-03': string;\n 'color-chart-inverse-pink-04': string;\n 'color-chart-inverse-pink-05': string;\n 'color-chart-inverse-pink-06': string;\n 'color-chart-inverse-pink-07': string;\n 'color-chart-inverse-pink-08': string;\n 'color-chart-inverse-pink-09': string;\n 'color-chart-inverse-rose-10': string;\n 'color-chart-inverse-rose-11': string;\n 'color-chart-inverse-rose-01': string;\n 'color-chart-inverse-rose-02': string;\n 'color-chart-inverse-rose-03': string;\n 'color-chart-inverse-rose-04': string;\n 'color-chart-inverse-rose-05': string;\n 'color-chart-inverse-rose-06': string;\n 'color-chart-inverse-rose-07': string;\n 'color-chart-inverse-rose-08': string;\n 'color-chart-inverse-rose-09': string;\n 'color-opacity-inverse-10': string;\n 'color-opacity-inverse-01': string;\n 'color-opacity-inverse-02': string;\n 'color-opacity-inverse-03': string;\n 'color-opacity-inverse-04': string;\n 'color-opacity-inverse-05': string;\n 'color-opacity-inverse-06': string;\n 'color-opacity-inverse-07': string;\n 'color-opacity-inverse-08': string;\n 'color-opacity-inverse-09': string;\n 'color-opacity-inverse-00': string;\n 'color-opacity-static-10': string;\n 'color-opacity-static-01': string;\n 'color-opacity-static-02': string;\n 'color-opacity-static-03': string;\n 'color-opacity-static-04': string;\n 'color-opacity-static-05': string;\n 'color-opacity-static-06': string;\n 'color-opacity-static-07': string;\n 'color-opacity-static-08': string;\n 'color-opacity-static-09': string;\n 'color-opacity-static-00': string;\n 'text-caption': string;\n 'text-body-sm': string;\n 'text-body-lg': string;\n 'text-title-sm': string;\n 'text-title-lg': string;\n 'text-h6': string;\n 'text-h5': string;\n 'text-h4': string;\n 'text-h3': string;\n 'text-h2': string;\n 'text-h1': string;\n 'text-bullet-point': string;\n 'leading-caption': string;\n 'leading-body-sm': string;\n 'leading-body-lg': string;\n 'leading-title-sm': string;\n 'leading-title-lg': string;\n 'leading-h6': string;\n 'leading-h5': string;\n 'leading-h4': string;\n 'leading-h3': string;\n 'leading-h2': string;\n 'leading-h1': string;\n 'leading-bullet-point': string;\n 'font-weight-medium': string;\n 'font-weight-semibold': string;\n 'font-weight-bold': string;\n 'typography-letter-spacing': string;\n}\n\nexport const designTokens: DesignTokens = {\n 'color-slate-50': 'var(--color-slate-50)',\n 'color-slate-100': 'var(--color-slate-100)',\n 'color-slate-200': 'var(--color-slate-200)',\n 'color-slate-300': 'var(--color-slate-300)',\n 'color-slate-400': 'var(--color-slate-400)',\n 'color-slate-500': 'var(--color-slate-500)',\n 'color-slate-600': 'var(--color-slate-600)',\n 'color-slate-700': 'var(--color-slate-700)',\n 'color-slate-800': 'var(--color-slate-800)',\n 'color-slate-900': 'var(--color-slate-900)',\n 'color-slate-950': 'var(--color-slate-950)',\n 'color-red-50': 'var(--color-red-50)',\n 'color-red-100': 'var(--color-red-100)',\n 'color-red-200': 'var(--color-red-200)',\n 'color-red-300': 'var(--color-red-300)',\n 'color-red-400': 'var(--color-red-400)',\n 'color-red-500': 'var(--color-red-500)',\n 'color-red-600': 'var(--color-red-600)',\n 'color-red-700': 'var(--color-red-700)',\n 'color-red-800': 'var(--color-red-800)',\n 'color-red-900': 'var(--color-red-900)',\n 'color-red-950': 'var(--color-red-950)',\n 'color-orange-50': 'var(--color-orange-50)',\n 'color-orange-100': 'var(--color-orange-100)',\n 'color-orange-200': 'var(--color-orange-200)',\n 'color-orange-300': 'var(--color-orange-300)',\n 'color-orange-400': 'var(--color-orange-400)',\n 'color-orange-500': 'var(--color-orange-500)',\n 'color-orange-600': 'var(--color-orange-600)',\n 'color-orange-700': 'var(--color-orange-700)',\n 'color-orange-800': 'var(--color-orange-800)',\n 'color-orange-900': 'var(--color-orange-900)',\n 'color-orange-950': 'var(--color-orange-950)',\n 'color-amber-50': 'var(--color-amber-50)',\n 'color-amber-100': 'var(--color-amber-100)',\n 'color-amber-200': 'var(--color-amber-200)',\n 'color-amber-300': 'var(--color-amber-300)',\n 'color-amber-400': 'var(--color-amber-400)',\n 'color-amber-500': 'var(--color-amber-500)',\n 'color-amber-600': 'var(--color-amber-600)',\n 'color-amber-700': 'var(--color-amber-700)',\n 'color-amber-800': 'var(--color-amber-800)',\n 'color-amber-900': 'var(--color-amber-900)',\n 'color-amber-950': 'var(--color-amber-950)',\n 'color-yellow-50': 'var(--color-yellow-50)',\n 'color-yellow-100': 'var(--color-yellow-100)',\n 'color-yellow-200': 'var(--color-yellow-200)',\n 'color-yellow-300': 'var(--color-yellow-300)',\n 'color-yellow-400': 'var(--color-yellow-400)',\n 'color-yellow-500': 'var(--color-yellow-500)',\n 'color-yellow-600': 'var(--color-yellow-600)',\n 'color-yellow-700': 'var(--color-yellow-700)',\n 'color-yellow-800': 'var(--color-yellow-800)',\n 'color-yellow-900': 'var(--color-yellow-900)',\n 'color-yellow-950': 'var(--color-yellow-950)',\n 'color-lime-50': 'var(--color-lime-50)',\n 'color-lime-100': 'var(--color-lime-100)',\n 'color-lime-200': 'var(--color-lime-200)',\n 'color-lime-300': 'var(--color-lime-300)',\n 'color-lime-400': 'var(--color-lime-400)',\n 'color-lime-500': 'var(--color-lime-500)',\n 'color-lime-600': 'var(--color-lime-600)',\n 'color-lime-700': 'var(--color-lime-700)',\n 'color-lime-800': 'var(--color-lime-800)',\n 'color-lime-900': 'var(--color-lime-900)',\n 'color-lime-950': 'var(--color-lime-950)',\n 'color-green-50': 'var(--color-green-50)',\n 'color-green-100': 'var(--color-green-100)',\n 'color-green-200': 'var(--color-green-200)',\n 'color-green-300': 'var(--color-green-300)',\n 'color-green-400': 'var(--color-green-400)',\n 'color-green-500': 'var(--color-green-500)',\n 'color-green-600': 'var(--color-green-600)',\n 'color-green-700': 'var(--color-green-700)',\n 'color-green-800': 'var(--color-green-800)',\n 'color-green-900': 'var(--color-green-900)',\n 'color-green-950': 'var(--color-green-950)',\n 'color-emerald-50': 'var(--color-emerald-50)',\n 'color-emerald-100': 'var(--color-emerald-100)',\n 'color-emerald-200': 'var(--color-emerald-200)',\n 'color-emerald-300': 'var(--color-emerald-300)',\n 'color-emerald-400': 'var(--color-emerald-400)',\n 'color-emerald-500': 'var(--color-emerald-500)',\n 'color-emerald-600': 'var(--color-emerald-600)',\n 'color-emerald-700': 'var(--color-emerald-700)',\n 'color-emerald-800': 'var(--color-emerald-800)',\n 'color-emerald-900': 'var(--color-emerald-900)',\n 'color-emerald-950': 'var(--color-emerald-950)',\n 'color-teal-50': 'var(--color-teal-50)',\n 'color-teal-100': 'var(--color-teal-100)',\n 'color-teal-200': 'var(--color-teal-200)',\n 'color-teal-300': 'var(--color-teal-300)',\n 'color-teal-400': 'var(--color-teal-400)',\n 'color-teal-500': 'var(--color-teal-500)',\n 'color-teal-600': 'var(--color-teal-600)',\n 'color-teal-700': 'var(--color-teal-700)',\n 'color-teal-800': 'var(--color-teal-800)',\n 'color-teal-900': 'var(--color-teal-900)',\n 'color-teal-950': 'var(--color-teal-950)',\n 'color-cyan-50': 'var(--color-cyan-50)',\n 'color-cyan-100': 'var(--color-cyan-100)',\n 'color-cyan-200': 'var(--color-cyan-200)',\n 'color-cyan-300': 'var(--color-cyan-300)',\n 'color-cyan-400': 'var(--color-cyan-400)',\n 'color-cyan-500': 'var(--color-cyan-500)',\n 'color-cyan-600': 'var(--color-cyan-600)',\n 'color-cyan-700': 'var(--color-cyan-700)',\n 'color-cyan-800': 'var(--color-cyan-800)',\n 'color-cyan-900': 'var(--color-cyan-900)',\n 'color-cyan-950': 'var(--color-cyan-950)',\n 'color-sky-50': 'var(--color-sky-50)',\n 'color-sky-100': 'var(--color-sky-100)',\n 'color-sky-200': 'var(--color-sky-200)',\n 'color-sky-300': 'var(--color-sky-300)',\n 'color-sky-400': 'var(--color-sky-400)',\n 'color-sky-500': 'var(--color-sky-500)',\n 'color-sky-600': 'var(--color-sky-600)',\n 'color-sky-700': 'var(--color-sky-700)',\n 'color-sky-800': 'var(--color-sky-800)',\n 'color-sky-900': 'var(--color-sky-900)',\n 'color-sky-950': 'var(--color-sky-950)',\n 'color-blue-50': 'var(--color-blue-50)',\n 'color-blue-100': 'var(--color-blue-100)',\n 'color-blue-200': 'var(--color-blue-200)',\n 'color-blue-300': 'var(--color-blue-300)',\n 'color-blue-400': 'var(--color-blue-400)',\n 'color-blue-500': 'var(--color-blue-500)',\n 'color-blue-600': 'var(--color-blue-600)',\n 'color-blue-700': 'var(--color-blue-700)',\n 'color-blue-800': 'var(--color-blue-800)',\n 'color-blue-900': 'var(--color-blue-900)',\n 'color-blue-950': 'var(--color-blue-950)',\n 'color-indigo-50': 'var(--color-indigo-50)',\n 'color-indigo-100': 'var(--color-indigo-100)',\n 'color-indigo-200': 'var(--color-indigo-200)',\n 'color-indigo-300': 'var(--color-indigo-300)',\n 'color-indigo-400': 'var(--color-indigo-400)',\n 'color-indigo-500': 'var(--color-indigo-500)',\n 'color-indigo-600': 'var(--color-indigo-600)',\n 'color-indigo-700': 'var(--color-indigo-700)',\n 'color-indigo-800': 'var(--color-indigo-800)',\n 'color-indigo-900': 'var(--color-indigo-900)',\n 'color-indigo-950': 'var(--color-indigo-950)',\n 'color-violet-50': 'var(--color-violet-50)',\n 'color-violet-100': 'var(--color-violet-100)',\n 'color-violet-200': 'var(--color-violet-200)',\n 'color-violet-300': 'var(--color-violet-300)',\n 'color-violet-400': 'var(--color-violet-400)',\n 'color-violet-500': 'var(--color-violet-500)',\n 'color-violet-600': 'var(--color-violet-600)',\n 'color-violet-700': 'var(--color-violet-700)',\n 'color-violet-800': 'var(--color-violet-800)',\n 'color-violet-900': 'var(--color-violet-900)',\n 'color-violet-950': 'var(--color-violet-950)',\n 'color-purple-50': 'var(--color-purple-50)',\n 'color-purple-100': 'var(--color-purple-100)',\n 'color-purple-200': 'var(--color-purple-200)',\n 'color-purple-300': 'var(--color-purple-300)',\n 'color-purple-400': 'var(--color-purple-400)',\n 'color-purple-500': 'var(--color-purple-500)',\n 'color-purple-600': 'var(--color-purple-600)',\n 'color-purple-700': 'var(--color-purple-700)',\n 'color-purple-800': 'var(--color-purple-800)',\n 'color-purple-900': 'var(--color-purple-900)',\n 'color-purple-950': 'var(--color-purple-950)',\n 'color-fuchsia-50': 'var(--color-fuchsia-50)',\n 'color-fuchsia-100': 'var(--color-fuchsia-100)',\n 'color-fuchsia-200': 'var(--color-fuchsia-200)',\n 'color-fuchsia-300': 'var(--color-fuchsia-300)',\n 'color-fuchsia-400': 'var(--color-fuchsia-400)',\n 'color-fuchsia-500': 'var(--color-fuchsia-500)',\n 'color-fuchsia-600': 'var(--color-fuchsia-600)',\n 'color-fuchsia-700': 'var(--color-fuchsia-700)',\n 'color-fuchsia-800': 'var(--color-fuchsia-800)',\n 'color-fuchsia-900': 'var(--color-fuchsia-900)',\n 'color-fuchsia-950': 'var(--color-fuchsia-950)',\n 'color-pink-50': 'var(--color-pink-50)',\n 'color-pink-100': 'var(--color-pink-100)',\n 'color-pink-200': 'var(--color-pink-200)',\n 'color-pink-300': 'var(--color-pink-300)',\n 'color-pink-400': 'var(--color-pink-400)',\n 'color-pink-500': 'var(--color-pink-500)',\n 'color-pink-600': 'var(--color-pink-600)',\n 'color-pink-700': 'var(--color-pink-700)',\n 'color-pink-800': 'var(--color-pink-800)',\n 'color-pink-900': 'var(--color-pink-900)',\n 'color-pink-950': 'var(--color-pink-950)',\n 'color-rose-50': 'var(--color-rose-50)',\n 'color-rose-100': 'var(--color-rose-100)',\n 'color-rose-200': 'var(--color-rose-200)',\n 'color-rose-300': 'var(--color-rose-300)',\n 'color-rose-400': 'var(--color-rose-400)',\n 'color-rose-500': 'var(--color-rose-500)',\n 'color-rose-600': 'var(--color-rose-600)',\n 'color-rose-700': 'var(--color-rose-700)',\n 'color-rose-800': 'var(--color-rose-800)',\n 'color-rose-900': 'var(--color-rose-900)',\n 'color-rose-950': 'var(--color-rose-950)',\n 'color-neutral-black': 'var(--color-neutral-black)',\n 'color-neutral-white': 'var(--color-neutral-white)',\n 'typography-font-sans': 'var(--typography-font-sans)',\n 'typography-text-sm': 'var(--typography-text-sm)',\n 'typography-text-base': 'var(--typography-text-base)',\n 'typography-text-lg': 'var(--typography-text-lg)',\n 'typography-text-xl': 'var(--typography-text-xl)',\n 'typography-text-2xl': 'var(--typography-text-2xl)',\n 'typography-text-3xl': 'var(--typography-text-3xl)',\n 'typography-text-4xl': 'var(--typography-text-4xl)',\n 'typography-text-5xl': 'var(--typography-text-5xl)',\n 'typography-text-6xl': 'var(--typography-text-6xl)',\n 'typography-text-7xl': 'var(--typography-text-7xl)',\n 'typography-leading-1': 'var(--typography-leading-1)',\n 'typography-leading-2': 'var(--typography-leading-2)',\n 'typography-leading-3': 'var(--typography-leading-3)',\n 'typography-leading-4': 'var(--typography-leading-4)',\n 'typography-leading-5': 'var(--typography-leading-5)',\n 'typography-leading-6': 'var(--typography-leading-6)',\n 'typography-leading-7': 'var(--typography-leading-7)',\n 'typography-leading-8': 'var(--typography-leading-8)',\n 'typography-leading-9': 'var(--typography-leading-9)',\n 'typography-leading-10': 'var(--typography-leading-10)',\n 'font-weight-500': 'var(--font-weight-500)',\n 'font-weight-600': 'var(--font-weight-600)',\n 'font-weight-700': 'var(--font-weight-700)',\n 'tracking-0': 'var(--tracking-0)',\n 'typography-paragraph-8': 'var(--typography-paragraph-8)',\n 'typography-paragraph-16': 'var(--typography-paragraph-16)',\n 'typography-paragraph-20': 'var(--typography-paragraph-20)',\n 'typography-paragraph-24': 'var(--typography-paragraph-24)',\n 'spacing-unit-2px': 'var(--spacing-unit-2px)',\n 'spacing-unit-4px': 'var(--spacing-unit-4px)',\n 'spacing-unit-6px': 'var(--spacing-unit-6px)',\n 'spacing-unit-8px': 'var(--spacing-unit-8px)',\n 'spacing-unit-10px': 'var(--spacing-unit-10px)',\n 'spacing-unit-12px': 'var(--spacing-unit-12px)',\n 'spacing-unit-14px': 'var(--spacing-unit-14px)',\n 'spacing-unit-16px': 'var(--spacing-unit-16px)',\n 'spacing-unit-24px': 'var(--spacing-unit-24px)',\n 'spacing-unit-32px': 'var(--spacing-unit-32px)',\n 'spacing-unit-40px': 'var(--spacing-unit-40px)',\n 'spacing-unit-0px': 'var(--spacing-unit-0px)',\n 'spacing-unit-128px': 'var(--spacing-unit-128px)',\n 'spacing-unit--8px': 'var(--spacing-unit--8px)',\n 'spacing-unit--16px': 'var(--spacing-unit--16px)',\n 'spacing-unit--4px': 'var(--spacing-unit--4px)',\n 'spacing-unit-1px': 'var(--spacing-unit-1px)',\n 'spacing-unit-64px': 'var(--spacing-unit-64px)',\n 'spacing-unit--24px': 'var(--spacing-unit--24px)',\n 'radius-unit-corner-radius-xs': 'var(--radius-unit-corner-radius-xs)',\n 'radius-unit-corner-radius-sm': 'var(--radius-unit-corner-radius-sm)',\n 'radius-unit-corner-radius-md': 'var(--radius-unit-corner-radius-md)',\n 'radius-unit-corner-radius-lg': 'var(--radius-unit-corner-radius-lg)',\n 'radius-unit-corner-radius-xl': 'var(--radius-unit-corner-radius-xl)',\n 'radius-unit-corner-radius-2xl': 'var(--radius-unit-corner-radius-2xl)',\n 'radius-unit-corner-radius-3xl': 'var(--radius-unit-corner-radius-3xl)',\n 'radius-unit-corner-radius-5xl': 'var(--radius-unit-corner-radius-5xl)',\n 'radius-unit-corner-radius-none': 'var(--radius-unit-corner-radius-none)',\n 'radius-unit-corner-radius-rounded-full': 'var(--radius-unit-corner-radius-rounded-full)',\n 'radius-unit-corner-radius-6xl': 'var(--radius-unit-corner-radius-6xl)',\n 'radius-unit-corner-radius-7xl': 'var(--radius-unit-corner-radius-7xl)',\n 'radius-unit-corner-radius-4xl': 'var(--radius-unit-corner-radius-4xl)',\n 'border-width-unit-border-width-sm': 'var(--border-width-unit-border-width-sm)',\n 'border-width-unit-border-width-md': 'var(--border-width-unit-border-width-md)',\n 'border-width-unit-border-width-lg': 'var(--border-width-unit-border-width-lg)',\n 'opacity-unit-xs': 'var(--opacity-unit-xs)',\n 'opacity-unit-sm': 'var(--opacity-unit-sm)',\n 'opacity-unit-md': 'var(--opacity-unit-md)',\n 'opacity-unit-lg': 'var(--opacity-unit-lg)',\n 'opacity-unit-xl': 'var(--opacity-unit-xl)',\n 'opacity-unit-2xl': 'var(--opacity-unit-2xl)',\n 'unit-blur-xs': 'var(--unit-blur-xs)',\n 'unit-blur-sm': 'var(--unit-blur-sm)',\n 'unit-blur-md': 'var(--unit-blur-md)',\n 'unit-blur-lg': 'var(--unit-blur-lg)',\n 'unit-blur-xl': 'var(--unit-blur-xl)',\n 'unit-blur-2xl': 'var(--unit-blur-2xl)',\n 'unit-blur-none': 'var(--unit-blur-none)',\n 'color-button-primary-enabled': 'var(--color-button-primary-enabled)',\n 'color-button-primary-hovered': 'var(--color-button-primary-hovered)',\n 'color-button-primary-pressed': 'var(--color-button-primary-pressed)',\n 'color-button-primary-disabled': 'var(--color-button-primary-disabled)',\n 'color-button-secondary-enabled': 'var(--color-button-secondary-enabled)',\n 'color-button-secondary-hovered': 'var(--color-button-secondary-hovered)',\n 'color-button-secondary-pressed': 'var(--color-button-secondary-pressed)',\n 'color-button-secondary-disabled': 'var(--color-button-secondary-disabled)',\n 'color-button-outline-enabled': 'var(--color-button-outline-enabled)',\n 'color-button-outline-hovered': 'var(--color-button-outline-hovered)',\n 'color-button-outline-pressed': 'var(--color-button-outline-pressed)',\n 'color-button-outline-disabled': 'var(--color-button-outline-disabled)',\n 'color-button-destructive-enabled': 'var(--color-button-destructive-enabled)',\n 'color-button-destructive-hovered': 'var(--color-button-destructive-hovered)',\n 'color-button-destructive-pressed': 'var(--color-button-destructive-pressed)',\n 'color-button-destructive-disabled': 'var(--color-button-destructive-disabled)',\n 'color-button-soft-enabled': 'var(--color-button-soft-enabled)',\n 'color-button-soft-hovered': 'var(--color-button-soft-hovered)',\n 'color-button-soft-pressed': 'var(--color-button-soft-pressed)',\n 'color-button-soft-disabled': 'var(--color-button-soft-disabled)',\n 'color-button-ghost-enabled': 'var(--color-button-ghost-enabled)',\n 'color-button-ghost-hovered': 'var(--color-button-ghost-hovered)',\n 'color-button-ghost-pressed': 'var(--color-button-ghost-pressed)',\n 'color-button-ghost-disabled': 'var(--color-button-ghost-disabled)',\n 'color-button-glass-enabled': 'var(--color-button-glass-enabled)',\n 'color-button-glass-hovered': 'var(--color-button-glass-hovered)',\n 'color-button-glass-pressed': 'var(--color-button-glass-pressed)',\n 'color-button-glass-disabled': 'var(--color-button-glass-disabled)',\n 'color-chip-slate-enabled': 'var(--color-chip-slate-enabled)',\n 'color-chip-slate-hovered': 'var(--color-chip-slate-hovered)',\n 'color-chip-red-enabled': 'var(--color-chip-red-enabled)',\n 'color-chip-red-hovered': 'var(--color-chip-red-hovered)',\n 'color-chip-orange-enabled': 'var(--color-chip-orange-enabled)',\n 'color-chip-orange-hovered': 'var(--color-chip-orange-hovered)',\n 'color-chip-amber-enabled': 'var(--color-chip-amber-enabled)',\n 'color-chip-amber-hovered': 'var(--color-chip-amber-hovered)',\n 'color-chip-yellow-enabled': 'var(--color-chip-yellow-enabled)',\n 'color-chip-yellow-hovered': 'var(--color-chip-yellow-hovered)',\n 'color-chip-lime-enabled': 'var(--color-chip-lime-enabled)',\n 'color-chip-lime-hovered': 'var(--color-chip-lime-hovered)',\n 'color-chip-green-enabled': 'var(--color-chip-green-enabled)',\n 'color-chip-green-hovered': 'var(--color-chip-green-hovered)',\n 'color-chip-emerald-enabled': 'var(--color-chip-emerald-enabled)',\n 'color-chip-emerald-hovered': 'var(--color-chip-emerald-hovered)',\n 'color-chip-teal-enabled': 'var(--color-chip-teal-enabled)',\n 'color-chip-teal-hovered': 'var(--color-chip-teal-hovered)',\n 'color-chip-cyan-enabled': 'var(--color-chip-cyan-enabled)',\n 'color-chip-cyan-hovered': 'var(--color-chip-cyan-hovered)',\n 'color-chip-sky-enabled': 'var(--color-chip-sky-enabled)',\n 'color-chip-sky-hovered': 'var(--color-chip-sky-hovered)',\n 'color-chip-blue-enabled': 'var(--color-chip-blue-enabled)',\n 'color-chip-blue-hovered': 'var(--color-chip-blue-hovered)',\n 'color-chip-indigo-enabled': 'var(--color-chip-indigo-enabled)',\n 'color-chip-indigo-hovered': 'var(--color-chip-indigo-hovered)',\n 'color-chip-violet-enabled': 'var(--color-chip-violet-enabled)',\n 'color-chip-violet-hovered': 'var(--color-chip-violet-hovered)',\n 'color-chip-purple-enabled': 'var(--color-chip-purple-enabled)',\n 'color-chip-purple-hovered': 'var(--color-chip-purple-hovered)',\n 'color-chip-fuchsia-enabled': 'var(--color-chip-fuchsia-enabled)',\n 'color-chip-fuchsia-hovered': 'var(--color-chip-fuchsia-hovered)',\n 'color-chip-pink-enabled': 'var(--color-chip-pink-enabled)',\n 'color-chip-pink-hovered': 'var(--color-chip-pink-hovered)',\n 'color-chip-rose-enabled': 'var(--color-chip-rose-enabled)',\n 'color-chip-rose-hovered': 'var(--color-chip-rose-hovered)',\n 'color-data-table-unselected-enabled': 'var(--color-data-table-unselected-enabled)',\n 'color-data-table-unselected-hovered': 'var(--color-data-table-unselected-hovered)',\n 'color-data-table-unselected-focused': 'var(--color-data-table-unselected-focused)',\n 'color-data-table-selected-enabled': 'var(--color-data-table-selected-enabled)',\n 'color-data-table-selected-hovered': 'var(--color-data-table-selected-hovered)',\n 'color-data-table-selected-focused': 'var(--color-data-table-selected-focused)',\n 'color-check-box-and-radio-checked-enabled': 'var(--color-check-box-and-radio-checked-enabled)',\n 'color-check-box-and-radio-checked-hovered': 'var(--color-check-box-and-radio-checked-hovered)',\n 'color-check-box-and-radio-checked-disabled': 'var(--color-check-box-and-radio-checked-disabled)',\n 'color-check-box-and-radio-unchecked-enabled': 'var(--color-check-box-and-radio-unchecked-enabled)',\n 'color-check-box-and-radio-unchecked-disabled': 'var(--color-check-box-and-radio-unchecked-disabled)',\n 'color-check-box-and-radio-unchecked-hovered': 'var(--color-check-box-and-radio-unchecked-hovered)',\n 'color-input-outline-enabled': 'var(--color-input-outline-enabled)',\n 'color-input-outline-disabled': 'var(--color-input-outline-disabled)',\n 'color-input-outline-hovered': 'var(--color-input-outline-hovered)',\n 'color-input-ghost-enabled': 'var(--color-input-ghost-enabled)',\n 'color-input-ghost-hovered': 'var(--color-input-ghost-hovered)',\n 'color-input-ghost-disabled': 'var(--color-input-ghost-disabled)',\n 'color-button-switch-on-enabled': 'var(--color-button-switch-on-enabled)',\n 'color-button-switch-on-hovered': 'var(--color-button-switch-on-hovered)',\n 'color-button-switch-on-disabled': 'var(--color-button-switch-on-disabled)',\n 'color-button-switch-off-enabled': 'var(--color-button-switch-off-enabled)',\n 'color-button-switch-off-hovered': 'var(--color-button-switch-off-hovered)',\n 'color-button-switch-off-disabled': 'var(--color-button-switch-off-disabled)',\n 'color-chat-bubble-primary-enabled': 'var(--color-chat-bubble-primary-enabled)',\n 'color-chat-bubble-primary-hovered': 'var(--color-chat-bubble-primary-hovered)',\n 'color-chat-bubble-neutral-enabled': 'var(--color-chat-bubble-neutral-enabled)',\n 'color-chat-bubble-neutral-hovered': 'var(--color-chat-bubble-neutral-hovered)',\n 'color-button-toggle-unselected-primary-enabled': 'var(--color-button-toggle-unselected-primary-enabled)',\n 'color-button-toggle-unselected-primary-hovered': 'var(--color-button-toggle-unselected-primary-hovered)',\n 'color-button-toggle-unselected-primary-pressed': 'var(--color-button-toggle-unselected-primary-pressed)',\n 'color-button-toggle-unselected-secondary-enabled': 'var(--color-button-toggle-unselected-secondary-enabled)',\n 'color-button-toggle-unselected-secondary-hovered': 'var(--color-button-toggle-unselected-secondary-hovered)',\n 'color-button-toggle-unselected-secondary-pressed': 'var(--color-button-toggle-unselected-secondary-pressed)',\n 'color-button-toggle-unselected-destructive-enabled': 'var(--color-button-toggle-unselected-destructive-enabled)',\n 'color-button-toggle-unselected-destructive-hovered': 'var(--color-button-toggle-unselected-destructive-hovered)',\n 'color-button-toggle-unselected-destructive-pressed': 'var(--color-button-toggle-unselected-destructive-pressed)',\n 'color-button-toggle-selected-primary-enabled': 'var(--color-button-toggle-selected-primary-enabled)',\n 'color-button-toggle-selected-primary-hovered': 'var(--color-button-toggle-selected-primary-hovered)',\n 'color-button-toggle-selected-primary-pressed': 'var(--color-button-toggle-selected-primary-pressed)',\n 'color-button-toggle-selected-secondary-enabled': 'var(--color-button-toggle-selected-secondary-enabled)',\n 'color-button-toggle-selected-secondary-hovered': 'var(--color-button-toggle-selected-secondary-hovered)',\n 'color-button-toggle-selected-secondary-pressed': 'var(--color-button-toggle-selected-secondary-pressed)',\n 'color-button-toggle-selected-destructive-enabled': 'var(--color-button-toggle-selected-destructive-enabled)',\n 'color-button-toggle-selected-destructive-hovered': 'var(--color-button-toggle-selected-destructive-hovered)',\n 'color-button-toggle-selected-destructive-pressed': 'var(--color-button-toggle-selected-destructive-pressed)',\n 'color-tab-primary-enabled': 'var(--color-tab-primary-enabled)',\n 'color-tab-primary-hovered': 'var(--color-tab-primary-hovered)',\n 'color-tab-primary-pressed': 'var(--color-tab-primary-pressed)',\n 'color-tab-primary-active': 'var(--color-tab-primary-active)',\n 'color-menu-panel-unselected-enabled': 'var(--color-menu-panel-unselected-enabled)',\n 'color-menu-panel-unselected-hovered': 'var(--color-menu-panel-unselected-hovered)',\n 'color-menu-panel-selected-enabled': 'var(--color-menu-panel-selected-enabled)',\n 'color-menu-panel-selected-hovered': 'var(--color-menu-panel-selected-hovered)',\n 'color-toast-error': 'var(--color-toast-error)',\n 'color-toast-warning': 'var(--color-toast-warning)',\n 'color-toast-success': 'var(--color-toast-success)',\n 'color-toast-info': 'var(--color-toast-info)',\n 'color-navigation-hovered': 'var(--color-navigation-hovered)',\n 'color-navigation-selected': 'var(--color-navigation-selected)',\n 'color-toggle-ghost-inactive-enabled': 'var(--color-toggle-ghost-inactive-enabled)',\n 'color-toggle-ghost-inactive-hovered': 'var(--color-toggle-ghost-inactive-hovered)',\n 'color-toggle-ghost-inactive-pressed': 'var(--color-toggle-ghost-inactive-pressed)',\n 'color-toggle-ghost-inactive-disabled': 'var(--color-toggle-ghost-inactive-disabled)',\n 'color-toggle-ghost-active-enabled': 'var(--color-toggle-ghost-active-enabled)',\n 'color-toggle-ghost-active-hovered': 'var(--color-toggle-ghost-active-hovered)',\n 'color-toggle-ghost-active-pressed': 'var(--color-toggle-ghost-active-pressed)',\n 'color-toggle-ghost-active-disabled': 'var(--color-toggle-ghost-active-disabled)',\n 'color-toggle-outline-active-enabled': 'var(--color-toggle-outline-active-enabled)',\n 'color-toggle-outline-active-hovered': 'var(--color-toggle-outline-active-hovered)',\n 'color-toggle-outline-active-pressed': 'var(--color-toggle-outline-active-pressed)',\n 'color-toggle-outline-active-disabled': 'var(--color-toggle-outline-active-disabled)',\n 'color-toggle-outline-inactive-enabled': 'var(--color-toggle-outline-inactive-enabled)',\n 'color-toggle-outline-inactive-hovered': 'var(--color-toggle-outline-inactive-hovered)',\n 'color-toggle-outline-inactive-pressed': 'var(--color-toggle-outline-inactive-pressed)',\n 'color-toggle-outline-inactive-disabled': 'var(--color-toggle-outline-inactive-disabled)',\n 'color-toggle-soft-active-enabled': 'var(--color-toggle-soft-active-enabled)',\n 'color-toggle-soft-active-hovered': 'var(--color-toggle-soft-active-hovered)',\n 'color-toggle-soft-active-pressed': 'var(--color-toggle-soft-active-pressed)',\n 'color-toggle-soft-active-disabled': 'var(--color-toggle-soft-active-disabled)',\n 'color-toggle-soft-inactive-enabled': 'var(--color-toggle-soft-inactive-enabled)',\n 'color-toggle-soft-inactive-hovered': 'var(--color-toggle-soft-inactive-hovered)',\n 'color-toggle-soft-inactive-pressed': 'var(--color-toggle-soft-inactive-pressed)',\n 'color-toggle-soft-inactive-disabled': 'var(--color-toggle-soft-inactive-disabled)',\n 'color-utility-tab-inactive-enabled': 'var(--color-utility-tab-inactive-enabled)',\n 'color-utility-tab-inactive-hovered': 'var(--color-utility-tab-inactive-hovered)',\n 'color-utility-tab-active-enabled': 'var(--color-utility-tab-active-enabled)',\n 'color-utility-tab-active-hovered': 'var(--color-utility-tab-active-hovered)',\n 'color-filter-chip-unselected-enabled': 'var(--color-filter-chip-unselected-enabled)',\n 'color-filter-chip-unselected-hovered': 'var(--color-filter-chip-unselected-hovered)',\n 'color-filter-chip-selected-enabled': 'var(--color-filter-chip-selected-enabled)',\n 'color-filter-chip-selected-hovered': 'var(--color-filter-chip-selected-hovered)',\n 'pagination-page-tab-enabled': 'var(--pagination-page-tab-enabled)',\n 'pagination-page-tab-hovered': 'var(--pagination-page-tab-hovered)',\n 'pagination-page-tab-pressed': 'var(--pagination-page-tab-pressed)',\n 'pagination-page-tab-actived': 'var(--pagination-page-tab-actived)',\n 'color-comment-opened-enabled': 'var(--color-comment-opened-enabled)',\n 'color-comment-opened-hovered': 'var(--color-comment-opened-hovered)',\n 'color-comment-opened-actived': 'var(--color-comment-opened-actived)',\n 'color-comment-closed-enabled': 'var(--color-comment-closed-enabled)',\n 'color-comment-closed-hovered': 'var(--color-comment-closed-hovered)',\n 'color-comment-closed-actived': 'var(--color-comment-closed-actived)',\n 'list-enabled': 'var(--list-enabled)',\n 'list-hovered': 'var(--list-hovered)',\n 'list-actived': 'var(--list-actived)',\n 'color-dropdown-hovered': 'var(--color-dropdown-hovered)',\n 'color-notificationCard-enabled': 'var(--color-notificationCard-enabled)',\n 'color-notificationCard-hovered': 'var(--color-notificationCard-hovered)',\n 'color-table-table-cell-unselected': 'var(--color-table-table-cell-unselected)',\n 'color-table-table-cell-selected': 'var(--color-table-table-cell-selected)',\n 'color-table-table-header-default': 'var(--color-table-table-header-default)',\n 'color-fill-background': 'var(--color-fill-background)',\n 'color-fill-foreground': 'var(--color-fill-foreground)',\n 'color-fill-static-red-01': 'var(--color-fill-static-red-01)',\n 'color-fill-static-red-03': 'var(--color-fill-static-red-03)',\n 'color-fill-static-red-05': 'var(--color-fill-static-red-05)',\n 'color-fill-static-red-04': 'var(--color-fill-static-red-04)',\n 'color-fill-static-red-02': 'var(--color-fill-static-red-02)',\n 'color-fill-static-red-06': 'var(--color-fill-static-red-06)',\n 'color-fill-static-orange-01': 'var(--color-fill-static-orange-01)',\n 'color-fill-static-orange-02': 'var(--color-fill-static-orange-02)',\n 'color-fill-static-orange-03': 'var(--color-fill-static-orange-03)',\n 'color-fill-static-amber-01': 'var(--color-fill-static-amber-01)',\n 'color-fill-static-amber-02': 'var(--color-fill-static-amber-02)',\n 'color-fill-static-amber-03': 'var(--color-fill-static-amber-03)',\n 'color-fill-static-yellow-01': 'var(--color-fill-static-yellow-01)',\n 'color-fill-static-yellow-02': 'var(--color-fill-static-yellow-02)',\n 'color-fill-static-yellow-03': 'var(--color-fill-static-yellow-03)',\n 'color-fill-static-lime-01': 'var(--color-fill-static-lime-01)',\n 'color-fill-static-lime-02': 'var(--color-fill-static-lime-02)',\n 'color-fill-static-lime-03': 'var(--color-fill-static-lime-03)',\n 'color-fill-static-green-01': 'var(--color-fill-static-green-01)',\n 'color-fill-static-green-03': 'var(--color-fill-static-green-03)',\n 'color-fill-static-green-05': 'var(--color-fill-static-green-05)',\n 'color-fill-static-green-02': 'var(--color-fill-static-green-02)',\n 'color-fill-static-green-04': 'var(--color-fill-static-green-04)',\n 'color-fill-static-emerald-01': 'var(--color-fill-static-emerald-01)',\n 'color-fill-static-emerald-02': 'var(--color-fill-static-emerald-02)',\n 'color-fill-static-emerald-03': 'var(--color-fill-static-emerald-03)',\n 'color-fill-static-teal-01': 'var(--color-fill-static-teal-01)',\n 'color-fill-static-teal-02': 'var(--color-fill-static-teal-02)',\n 'color-fill-static-teal-03': 'var(--color-fill-static-teal-03)',\n 'color-fill-static-cyan-01': 'var(--color-fill-static-cyan-01)',\n 'color-fill-static-cyan-02': 'var(--color-fill-static-cyan-02)',\n 'color-fill-static-cyan-03': 'var(--color-fill-static-cyan-03)',\n 'color-fill-static-sky-01': 'var(--color-fill-static-sky-01)',\n 'color-fill-static-sky-02': 'var(--color-fill-static-sky-02)',\n 'color-fill-static-sky-03': 'var(--color-fill-static-sky-03)',\n 'color-fill-static-blue-01': 'var(--color-fill-static-blue-01)',\n 'color-fill-static-blue-03': 'var(--color-fill-static-blue-03)',\n 'color-fill-static-blue-05': 'var(--color-fill-static-blue-05)',\n 'color-fill-static-blue-02': 'var(--color-fill-static-blue-02)',\n 'color-fill-static-blue-04': 'var(--color-fill-static-blue-04)',\n 'color-fill-static-blue-06': 'var(--color-fill-static-blue-06)',\n 'color-fill-static-indigo-01': 'var(--color-fill-static-indigo-01)',\n 'color-fill-static-indigo-02': 'var(--color-fill-static-indigo-02)',\n 'color-fill-static-indigo-03': 'var(--color-fill-static-indigo-03)',\n 'color-fill-static-violet-01': 'var(--color-fill-static-violet-01)',\n 'color-fill-static-violet-02': 'var(--color-fill-static-violet-02)',\n 'color-fill-static-violet-03': 'var(--color-fill-static-violet-03)',\n 'color-fill-static-purple-01': 'var(--color-fill-static-purple-01)',\n 'color-fill-static-purple-02': 'var(--color-fill-static-purple-02)',\n 'color-fill-static-purple-03': 'var(--color-fill-static-purple-03)',\n 'color-fill-static-fuchsia-01': 'var(--color-fill-static-fuchsia-01)',\n 'color-fill-static-fuchsia-02': 'var(--color-fill-static-fuchsia-02)',\n 'color-fill-static-fuchsia-03': 'var(--color-fill-static-fuchsia-03)',\n 'color-fill-static-pink-01': 'var(--color-fill-static-pink-01)',\n 'color-fill-static-pink-02': 'var(--color-fill-static-pink-02)',\n 'color-fill-static-pink-03': 'var(--color-fill-static-pink-03)',\n 'color-fill-static-rose-01': 'var(--color-fill-static-rose-01)',\n 'color-fill-static-rose-02': 'var(--color-fill-static-rose-02)',\n 'color-fill-static-rose-dark': 'var(--color-fill-static-rose-dark)',\n 'color-fill-static-slate-01': 'var(--color-fill-static-slate-01)',\n 'color-fill-static-slate-02': 'var(--color-fill-static-slate-02)',\n 'color-fill-static-slate-03': 'var(--color-fill-static-slate-03)',\n 'color-fill-static-slate-04': 'var(--color-fill-static-slate-04)',\n 'color-fill-static-slate-05': 'var(--color-fill-static-slate-05)',\n 'color-fill-inverse-slate-10': 'var(--color-fill-inverse-slate-10)',\n 'color-fill-inverse-slate-01': 'var(--color-fill-inverse-slate-01)',\n 'color-fill-inverse-slate-03': 'var(--color-fill-inverse-slate-03)',\n 'color-fill-inverse-slate-07': 'var(--color-fill-inverse-slate-07)',\n 'color-fill-inverse-slate-06': 'var(--color-fill-inverse-slate-06)',\n 'color-fill-inverse-slate-08': 'var(--color-fill-inverse-slate-08)',\n 'color-fill-inverse-slate-09': 'var(--color-fill-inverse-slate-09)',\n 'color-fill-inverse-slate-04': 'var(--color-fill-inverse-slate-04)',\n 'color-fill-inverse-slate-05': 'var(--color-fill-inverse-slate-05)',\n 'color-fill-inverse-slate-02': 'var(--color-fill-inverse-slate-02)',\n 'color-fill-inverse-blue-01': 'var(--color-fill-inverse-blue-01)',\n 'color-fill-inverse-blue-02': 'var(--color-fill-inverse-blue-02)',\n 'color-fill-inverse-red-01': 'var(--color-fill-inverse-red-01)',\n 'color-fill-inverse-red-02': 'var(--color-fill-inverse-red-02)',\n 'color-fill-inverse-orange-01': 'var(--color-fill-inverse-orange-01)',\n 'color-fill-inverse-orange-02': 'var(--color-fill-inverse-orange-02)',\n 'color-fill-inverse-yellow-01': 'var(--color-fill-inverse-yellow-01)',\n 'color-fill-inverse-yellow-02': 'var(--color-fill-inverse-yellow-02)',\n 'color-fill-inverse-lime-01': 'var(--color-fill-inverse-lime-01)',\n 'color-fill-inverse-lime-02': 'var(--color-fill-inverse-lime-02)',\n 'color-fill-inverse-green-01': 'var(--color-fill-inverse-green-01)',\n 'color-fill-inverse-green-02': 'var(--color-fill-inverse-green-02)',\n 'color-fill-inverse-emerald-01': 'var(--color-fill-inverse-emerald-01)',\n 'color-fill-inverse-emerald-02': 'var(--color-fill-inverse-emerald-02)',\n 'color-fill-inverse-teal-01': 'var(--color-fill-inverse-teal-01)',\n 'color-fill-inverse-teal-02': 'var(--color-fill-inverse-teal-02)',\n 'color-fill-inverse-cyan-01': 'var(--color-fill-inverse-cyan-01)',\n 'color-fill-inverse-cyan-02': 'var(--color-fill-inverse-cyan-02)',\n 'color-fill-inverse-sky-01': 'var(--color-fill-inverse-sky-01)',\n 'color-fill-inverse-sky-02': 'var(--color-fill-inverse-sky-02)',\n 'color-fill-inverse-violet-01': 'var(--color-fill-inverse-violet-01)',\n 'color-fill-inverse-violet-02': 'var(--color-fill-inverse-violet-02)',\n 'color-fill-inverse-indigo-01': 'var(--color-fill-inverse-indigo-01)',\n 'color-fill-inverse-indigo-02': 'var(--color-fill-inverse-indigo-02)',\n 'color-fill-inverse-purple-01': 'var(--color-fill-inverse-purple-01)',\n 'color-fill-inverse-purple-02': 'var(--color-fill-inverse-purple-02)',\n 'color-fill-inverse-fuchsia-01': 'var(--color-fill-inverse-fuchsia-01)',\n 'color-fill-inverse-fuchsia-02': 'var(--color-fill-inverse-fuchsia-02)',\n 'color-fill-inverse-pink-01': 'var(--color-fill-inverse-pink-01)',\n 'color-fill-inverse-pink-02': 'var(--color-fill-inverse-pink-02)',\n 'color-fill-inverse-rose-01': 'var(--color-fill-inverse-rose-01)',\n 'color-fill-inverse-rose-02': 'var(--color-fill-inverse-rose-02)',\n 'color-fill-inverse-amber-01': 'var(--color-fill-inverse-amber-01)',\n 'color-fill-inverse-amber-02': 'var(--color-fill-inverse-amber-02)',\n 'color-stroke-inverse-slate-01': 'var(--color-stroke-inverse-slate-01)',\n 'color-stroke-inverse-slate-03': 'var(--color-stroke-inverse-slate-03)',\n 'color-stroke-inverse-slate-04': 'var(--color-stroke-inverse-slate-04)',\n 'color-stroke-inverse-slate-02': 'var(--color-stroke-inverse-slate-02)',\n 'color-stroke-inverse-red-01': 'var(--color-stroke-inverse-red-01)',\n 'color-stroke-inverse-red-02': 'var(--color-stroke-inverse-red-02)',\n 'color-stroke-inverse-orange-01': 'var(--color-stroke-inverse-orange-01)',\n 'color-stroke-inverse-orange-02': 'var(--color-stroke-inverse-orange-02)',\n 'color-stroke-inverse-amber-01': 'var(--color-stroke-inverse-amber-01)',\n 'color-stroke-inverse-amber-02': 'var(--color-stroke-inverse-amber-02)',\n 'color-stroke-inverse-yellow-01': 'var(--color-stroke-inverse-yellow-01)',\n 'color-stroke-inverse-yellow-02': 'var(--color-stroke-inverse-yellow-02)',\n 'color-stroke-inverse-lime-01': 'var(--color-stroke-inverse-lime-01)',\n 'color-stroke-inverse-lime-02': 'var(--color-stroke-inverse-lime-02)',\n 'color-stroke-inverse-green-01': 'var(--color-stroke-inverse-green-01)',\n 'color-stroke-inverse-green-02': 'var(--color-stroke-inverse-green-02)',\n 'color-stroke-inverse-emerald-01': 'var(--color-stroke-inverse-emerald-01)',\n 'color-stroke-inverse-emerald-02': 'var(--color-stroke-inverse-emerald-02)',\n 'color-stroke-inverse-teal-01': 'var(--color-stroke-inverse-teal-01)',\n 'color-stroke-inverse-teal-02': 'var(--color-stroke-inverse-teal-02)',\n 'color-stroke-inverse-cyan-01': 'var(--color-stroke-inverse-cyan-01)',\n 'color-stroke-inverse-cyan-02': 'var(--color-stroke-inverse-cyan-02)',\n 'color-stroke-inverse-sky-01': 'var(--color-stroke-inverse-sky-01)',\n 'color-stroke-inverse-sky-02': 'var(--color-stroke-inverse-sky-02)',\n 'color-stroke-inverse-blue-01': 'var(--color-stroke-inverse-blue-01)',\n 'color-stroke-inverse-blue-02': 'var(--color-stroke-inverse-blue-02)',\n 'color-stroke-inverse-indigo-01': 'var(--color-stroke-inverse-indigo-01)',\n 'color-stroke-inverse-indigo-02': 'var(--color-stroke-inverse-indigo-02)',\n 'color-stroke-inverse-violet-01': 'var(--color-stroke-inverse-violet-01)',\n 'color-stroke-inverse-violet-02': 'var(--color-stroke-inverse-violet-02)',\n 'color-stroke-inverse-purple-01': 'var(--color-stroke-inverse-purple-01)',\n 'color-stroke-inverse-purple-02': 'var(--color-stroke-inverse-purple-02)',\n 'color-stroke-inverse-fuchsia-01': 'var(--color-stroke-inverse-fuchsia-01)',\n 'color-stroke-inverse-fuchsia-02': 'var(--color-stroke-inverse-fuchsia-02)',\n 'color-stroke-inverse-pink-01': 'var(--color-stroke-inverse-pink-01)',\n 'color-stroke-inverse-pink-02': 'var(--color-stroke-inverse-pink-02)',\n 'color-stroke-inverse-rose-01': 'var(--color-stroke-inverse-rose-01)',\n 'color-stroke-inverse-rose-02': 'var(--color-stroke-inverse-rose-02)',\n 'color-stroke-static-slate-01': 'var(--color-stroke-static-slate-01)',\n 'color-stroke-static-slate-02': 'var(--color-stroke-static-slate-02)',\n 'color-stroke-static-slate-03': 'var(--color-stroke-static-slate-03)',\n 'color-stroke-static-slate-04': 'var(--color-stroke-static-slate-04)',\n 'color-stroke-static-slate-05': 'var(--color-stroke-static-slate-05)',\n 'color-stroke-static-red-01': 'var(--color-stroke-static-red-01)',\n 'color-stroke-static-red-02': 'var(--color-stroke-static-red-02)',\n 'color-stroke-static-red-03': 'var(--color-stroke-static-red-03)',\n 'color-stroke-static-red-04': 'var(--color-stroke-static-red-04)',\n 'color-stroke-static-red-05': 'var(--color-stroke-static-red-05)',\n 'color-stroke-static-orange-01': 'var(--color-stroke-static-orange-01)',\n 'color-stroke-static-orange-02': 'var(--color-stroke-static-orange-02)',\n 'color-stroke-static-orange-03': 'var(--color-stroke-static-orange-03)',\n 'color-stroke-static-amber-01': 'var(--color-stroke-static-amber-01)',\n 'color-stroke-static-amber-02': 'var(--color-stroke-static-amber-02)',\n 'color-stroke-static-amber-03': 'var(--color-stroke-static-amber-03)',\n 'color-stroke-static-yellow-01': 'var(--color-stroke-static-yellow-01)',\n 'color-stroke-static-yellow-02': 'var(--color-stroke-static-yellow-02)',\n 'color-stroke-static-yellow-03': 'var(--color-stroke-static-yellow-03)',\n 'color-stroke-static-lime-01': 'var(--color-stroke-static-lime-01)',\n 'color-stroke-static-lime-02': 'var(--color-stroke-static-lime-02)',\n 'color-stroke-static-lime-03': 'var(--color-stroke-static-lime-03)',\n 'color-stroke-static-green-01': 'var(--color-stroke-static-green-01)',\n 'color-stroke-static-green-02': 'var(--color-stroke-static-green-02)',\n 'color-stroke-static-green-03': 'var(--color-stroke-static-green-03)',\n 'color-stroke-static-emerald-01': 'var(--color-stroke-static-emerald-01)',\n 'color-stroke-static-emerald-02': 'var(--color-stroke-static-emerald-02)',\n 'color-stroke-static-emerald-03': 'var(--color-stroke-static-emerald-03)',\n 'color-stroke-static-teal-01': 'var(--color-stroke-static-teal-01)',\n 'color-stroke-static-teal-02': 'var(--color-stroke-static-teal-02)',\n 'color-stroke-static-teal-03': 'var(--color-stroke-static-teal-03)',\n 'color-stroke-static-cyan-01': 'var(--color-stroke-static-cyan-01)',\n 'color-stroke-static-cyan-02': 'var(--color-stroke-static-cyan-02)',\n 'color-stroke-static-cyan-03': 'var(--color-stroke-static-cyan-03)',\n 'color-stroke-static-sky-01': 'var(--color-stroke-static-sky-01)',\n 'color-stroke-static-sky-02': 'var(--color-stroke-static-sky-02)',\n 'color-stroke-static-sky-03': 'var(--color-stroke-static-sky-03)',\n 'color-stroke-static-blue-01': 'var(--color-stroke-static-blue-01)',\n 'color-stroke-static-blue-02': 'var(--color-stroke-static-blue-02)',\n 'color-stroke-static-blue-03': 'var(--color-stroke-static-blue-03)',\n 'color-stroke-static-blue-04': 'var(--color-stroke-static-blue-04)',\n 'color-stroke-static-blue-05': 'var(--color-stroke-static-blue-05)',\n 'color-stroke-static-indigo-01': 'var(--color-stroke-static-indigo-01)',\n 'color-stroke-static-indigo-02': 'var(--color-stroke-static-indigo-02)',\n 'color-stroke-static-indigo-03': 'var(--color-stroke-static-indigo-03)',\n 'color-stroke-static-violet-01': 'var(--color-stroke-static-violet-01)',\n 'color-stroke-static-violet-02': 'var(--color-stroke-static-violet-02)',\n 'color-stroke-static-violet-03': 'var(--color-stroke-static-violet-03)',\n 'color-stroke-static-purple-01': 'var(--color-stroke-static-purple-01)',\n 'color-stroke-static-purple-02': 'var(--color-stroke-static-purple-02)',\n 'color-stroke-static-purple-03': 'var(--color-stroke-static-purple-03)',\n 'color-stroke-static-fuchsia-01': 'var(--color-stroke-static-fuchsia-01)',\n 'color-stroke-static-fuchsia-02': 'var(--color-stroke-static-fuchsia-02)',\n 'color-stroke-static-fuchsia-03': 'var(--color-stroke-static-fuchsia-03)',\n 'color-stroke-static-pink-01': 'var(--color-stroke-static-pink-01)',\n 'color-stroke-static-pink-02': 'var(--color-stroke-static-pink-02)',\n 'color-stroke-static-pink-03': 'var(--color-stroke-static-pink-03)',\n 'color-stroke-static-rose-01': 'var(--color-stroke-static-rose-01)',\n 'color-stroke-static-rose-02': 'var(--color-stroke-static-rose-02)',\n 'color-stroke-static-rose-dark': 'var(--color-stroke-static-rose-dark)',\n 'color-element-inverse-default': 'var(--color-element-inverse-default)',\n 'color-element-inverse-gray': 'var(--color-element-inverse-gray)',\n 'color-element-inverse-disabled': 'var(--color-element-inverse-disabled)',\n 'color-element-inverse-red': 'var(--color-element-inverse-red)',\n 'color-element-inverse-default-alt': 'var(--color-element-inverse-default-alt)',\n 'color-element-inverse-blue': 'var(--color-element-inverse-blue)',\n 'color-element-inverse-orange': 'var(--color-element-inverse-orange)',\n 'color-element-inverse-amber': 'var(--color-element-inverse-amber)',\n 'color-element-inverse-yellow': 'var(--color-element-inverse-yellow)',\n 'color-element-inverse-lime': 'var(--color-element-inverse-lime)',\n 'color-element-inverse-green': 'var(--color-element-inverse-green)',\n 'color-element-inverse-emerald': 'var(--color-element-inverse-emerald)',\n 'color-element-inverse-teal': 'var(--color-element-inverse-teal)',\n 'color-element-inverse-cyan': 'var(--color-element-inverse-cyan)',\n 'color-element-inverse-sky': 'var(--color-element-inverse-sky)',\n 'color-element-inverse-indigo': 'var(--color-element-inverse-indigo)',\n 'color-element-inverse-violet': 'var(--color-element-inverse-violet)',\n 'color-element-inverse-purple': 'var(--color-element-inverse-purple)',\n 'color-element-inverse-fuchsia': 'var(--color-element-inverse-fuchsia)',\n 'color-element-inverse-pink': 'var(--color-element-inverse-pink)',\n 'color-element-inverse-rose': 'var(--color-element-inverse-rose)',\n 'color-element-inverse-soft': 'var(--color-element-inverse-soft)',\n 'color-element-static-black': 'var(--color-element-static-black)',\n 'color-element-static-white': 'var(--color-element-static-white)',\n 'color-element-static-red': 'var(--color-element-static-red)',\n 'color-element-static-blue': 'var(--color-element-static-blue)',\n 'color-element-static-orange': 'var(--color-element-static-orange)',\n 'color-element-static-amber': 'var(--color-element-static-amber)',\n 'color-element-static-yellow': 'var(--color-element-static-yellow)',\n 'color-element-static-lime': 'var(--color-element-static-lime)',\n 'color-element-static-green': 'var(--color-element-static-green)',\n 'color-element-static-emerald': 'var(--color-element-static-emerald)',\n 'color-element-static-teal': 'var(--color-element-static-teal)',\n 'color-element-static-cyan': 'var(--color-element-static-cyan)',\n 'color-element-static-sky': 'var(--color-element-static-sky)',\n 'color-element-static-indigo': 'var(--color-element-static-indigo)',\n 'color-element-static-violet': 'var(--color-element-static-violet)',\n 'color-element-static-purple': 'var(--color-element-static-purple)',\n 'color-element-static-fuchsia': 'var(--color-element-static-fuchsia)',\n 'color-element-static-pink': 'var(--color-element-static-pink)',\n 'color-element-static-rose': 'var(--color-element-static-rose)',\n 'color-chart-inverse-slate-10': 'var(--color-chart-inverse-slate-10)',\n 'color-chart-inverse-slate-11': 'var(--color-chart-inverse-slate-11)',\n 'color-chart-inverse-slate-01': 'var(--color-chart-inverse-slate-01)',\n 'color-chart-inverse-slate-02': 'var(--color-chart-inverse-slate-02)',\n 'color-chart-inverse-slate-03': 'var(--color-chart-inverse-slate-03)',\n 'color-chart-inverse-slate-04': 'var(--color-chart-inverse-slate-04)',\n 'color-chart-inverse-slate-05': 'var(--color-chart-inverse-slate-05)',\n 'color-chart-inverse-slate-06': 'var(--color-chart-inverse-slate-06)',\n 'color-chart-inverse-slate-08': 'var(--color-chart-inverse-slate-08)',\n 'color-chart-inverse-slate-09': 'var(--color-chart-inverse-slate-09)',\n 'color-chart-inverse-slate-07': 'var(--color-chart-inverse-slate-07)',\n 'color-chart-inverse-red-10': 'var(--color-chart-inverse-red-10)',\n 'color-chart-inverse-red-11': 'var(--color-chart-inverse-red-11)',\n 'color-chart-inverse-red-01': 'var(--color-chart-inverse-red-01)',\n 'color-chart-inverse-red-02': 'var(--color-chart-inverse-red-02)',\n 'color-chart-inverse-red-03': 'var(--color-chart-inverse-red-03)',\n 'color-chart-inverse-red-04': 'var(--color-chart-inverse-red-04)',\n 'color-chart-inverse-red-05': 'var(--color-chart-inverse-red-05)',\n 'color-chart-inverse-red-06': 'var(--color-chart-inverse-red-06)',\n 'color-chart-inverse-red-07': 'var(--color-chart-inverse-red-07)',\n 'color-chart-inverse-red-08': 'var(--color-chart-inverse-red-08)',\n 'color-chart-inverse-red-09': 'var(--color-chart-inverse-red-09)',\n 'color-chart-inverse-orange-10': 'var(--color-chart-inverse-orange-10)',\n 'color-chart-inverse-orange-11': 'var(--color-chart-inverse-orange-11)',\n 'color-chart-inverse-orange-01': 'var(--color-chart-inverse-orange-01)',\n 'color-chart-inverse-orange-02': 'var(--color-chart-inverse-orange-02)',\n 'color-chart-inverse-orange-03': 'var(--color-chart-inverse-orange-03)',\n 'color-chart-inverse-orange-04': 'var(--color-chart-inverse-orange-04)',\n 'color-chart-inverse-orange-05': 'var(--color-chart-inverse-orange-05)',\n 'color-chart-inverse-orange-06': 'var(--color-chart-inverse-orange-06)',\n 'color-chart-inverse-orange-07': 'var(--color-chart-inverse-orange-07)',\n 'color-chart-inverse-orange-08': 'var(--color-chart-inverse-orange-08)',\n 'color-chart-inverse-orange-09': 'var(--color-chart-inverse-orange-09)',\n 'color-chart-inverse-amber-10': 'var(--color-chart-inverse-amber-10)',\n 'color-chart-inverse-amber-11': 'var(--color-chart-inverse-amber-11)',\n 'color-chart-inverse-amber-01': 'var(--color-chart-inverse-amber-01)',\n 'color-chart-inverse-amber-02': 'var(--color-chart-inverse-amber-02)',\n 'color-chart-inverse-amber-03': 'var(--color-chart-inverse-amber-03)',\n 'color-chart-inverse-amber-04': 'var(--color-chart-inverse-amber-04)',\n 'color-chart-inverse-amber-05': 'var(--color-chart-inverse-amber-05)',\n 'color-chart-inverse-amber-06': 'var(--color-chart-inverse-amber-06)',\n 'color-chart-inverse-amber-07': 'var(--color-chart-inverse-amber-07)',\n 'color-chart-inverse-amber-08': 'var(--color-chart-inverse-amber-08)',\n 'color-chart-inverse-amber-09': 'var(--color-chart-inverse-amber-09)',\n 'color-chart-inverse-yellow-10': 'var(--color-chart-inverse-yellow-10)',\n 'color-chart-inverse-yellow-11': 'var(--color-chart-inverse-yellow-11)',\n 'color-chart-inverse-yellow-01': 'var(--color-chart-inverse-yellow-01)',\n 'color-chart-inverse-yellow-02': 'var(--color-chart-inverse-yellow-02)',\n 'color-chart-inverse-yellow-03': 'var(--color-chart-inverse-yellow-03)',\n 'color-chart-inverse-yellow-04': 'var(--color-chart-inverse-yellow-04)',\n 'color-chart-inverse-yellow-05': 'var(--color-chart-inverse-yellow-05)',\n 'color-chart-inverse-yellow-06': 'var(--color-chart-inverse-yellow-06)',\n 'color-chart-inverse-yellow-07': 'var(--color-chart-inverse-yellow-07)',\n 'color-chart-inverse-yellow-08': 'var(--color-chart-inverse-yellow-08)',\n 'color-chart-inverse-yellow-09': 'var(--color-chart-inverse-yellow-09)',\n 'color-chart-inverse-blue-10': 'var(--color-chart-inverse-blue-10)',\n 'color-chart-inverse-blue-11': 'var(--color-chart-inverse-blue-11)',\n 'color-chart-inverse-blue-01': 'var(--color-chart-inverse-blue-01)',\n 'color-chart-inverse-blue-02': 'var(--color-chart-inverse-blue-02)',\n 'color-chart-inverse-blue-03': 'var(--color-chart-inverse-blue-03)',\n 'color-chart-inverse-blue-04': 'var(--color-chart-inverse-blue-04)',\n 'color-chart-inverse-blue-05': 'var(--color-chart-inverse-blue-05)',\n 'color-chart-inverse-blue-06': 'var(--color-chart-inverse-blue-06)',\n 'color-chart-inverse-blue-07': 'var(--color-chart-inverse-blue-07)',\n 'color-chart-inverse-blue-08': 'var(--color-chart-inverse-blue-08)',\n 'color-chart-inverse-blue-09': 'var(--color-chart-inverse-blue-09)',\n 'color-chart-inverse-indigo-10': 'var(--color-chart-inverse-indigo-10)',\n 'color-chart-inverse-indigo-11': 'var(--color-chart-inverse-indigo-11)',\n 'color-chart-inverse-indigo-01': 'var(--color-chart-inverse-indigo-01)',\n 'color-chart-inverse-indigo-02': 'var(--color-chart-inverse-indigo-02)',\n 'color-chart-inverse-indigo-03': 'var(--color-chart-inverse-indigo-03)',\n 'color-chart-inverse-indigo-04': 'var(--color-chart-inverse-indigo-04)',\n 'color-chart-inverse-indigo-05': 'var(--color-chart-inverse-indigo-05)',\n 'color-chart-inverse-indigo-06': 'var(--color-chart-inverse-indigo-06)',\n 'color-chart-inverse-indigo-07': 'var(--color-chart-inverse-indigo-07)',\n 'color-chart-inverse-indigo-08': 'var(--color-chart-inverse-indigo-08)',\n 'color-chart-inverse-indigo-09': 'var(--color-chart-inverse-indigo-09)',\n 'color-chart-inverse-sky-10': 'var(--color-chart-inverse-sky-10)',\n 'color-chart-inverse-sky-11': 'var(--color-chart-inverse-sky-11)',\n 'color-chart-inverse-sky-01': 'var(--color-chart-inverse-sky-01)',\n 'color-chart-inverse-sky-02': 'var(--color-chart-inverse-sky-02)',\n 'color-chart-inverse-sky-03': 'var(--color-chart-inverse-sky-03)',\n 'color-chart-inverse-sky-04': 'var(--color-chart-inverse-sky-04)',\n 'color-chart-inverse-sky-05': 'var(--color-chart-inverse-sky-05)',\n 'color-chart-inverse-sky-06': 'var(--color-chart-inverse-sky-06)',\n 'color-chart-inverse-sky-07': 'var(--color-chart-inverse-sky-07)',\n 'color-chart-inverse-sky-08': 'var(--color-chart-inverse-sky-08)',\n 'color-chart-inverse-sky-09': 'var(--color-chart-inverse-sky-09)',\n 'color-chart-inverse-cyan-10': 'var(--color-chart-inverse-cyan-10)',\n 'color-chart-inverse-cyan-11': 'var(--color-chart-inverse-cyan-11)',\n 'color-chart-inverse-cyan-01': 'var(--color-chart-inverse-cyan-01)',\n 'color-chart-inverse-cyan-02': 'var(--color-chart-inverse-cyan-02)',\n 'color-chart-inverse-cyan-03': 'var(--color-chart-inverse-cyan-03)',\n 'color-chart-inverse-cyan-04': 'var(--color-chart-inverse-cyan-04)',\n 'color-chart-inverse-cyan-05': 'var(--color-chart-inverse-cyan-05)',\n 'color-chart-inverse-cyan-06': 'var(--color-chart-inverse-cyan-06)',\n 'color-chart-inverse-cyan-07': 'var(--color-chart-inverse-cyan-07)',\n 'color-chart-inverse-cyan-08': 'var(--color-chart-inverse-cyan-08)',\n 'color-chart-inverse-cyan-09': 'var(--color-chart-inverse-cyan-09)',\n 'color-chart-inverse-teal-10': 'var(--color-chart-inverse-teal-10)',\n 'color-chart-inverse-teal-11': 'var(--color-chart-inverse-teal-11)',\n 'color-chart-inverse-teal-01': 'var(--color-chart-inverse-teal-01)',\n 'color-chart-inverse-teal-02': 'var(--color-chart-inverse-teal-02)',\n 'color-chart-inverse-teal-03': 'var(--color-chart-inverse-teal-03)',\n 'color-chart-inverse-teal-04': 'var(--color-chart-inverse-teal-04)',\n 'color-chart-inverse-teal-05': 'var(--color-chart-inverse-teal-05)',\n 'color-chart-inverse-teal-06': 'var(--color-chart-inverse-teal-06)',\n 'color-chart-inverse-teal-07': 'var(--color-chart-inverse-teal-07)',\n 'color-chart-inverse-teal-08': 'var(--color-chart-inverse-teal-08)',\n 'color-chart-inverse-teal-09': 'var(--color-chart-inverse-teal-09)',\n 'color-chart-inverse-emerald-10': 'var(--color-chart-inverse-emerald-10)',\n 'color-chart-inverse-emerald-11': 'var(--color-chart-inverse-emerald-11)',\n 'color-chart-inverse-emerald-01': 'var(--color-chart-inverse-emerald-01)',\n 'color-chart-inverse-emerald-02': 'var(--color-chart-inverse-emerald-02)',\n 'color-chart-inverse-emerald-03': 'var(--color-chart-inverse-emerald-03)',\n 'color-chart-inverse-emerald-04': 'var(--color-chart-inverse-emerald-04)',\n 'color-chart-inverse-emerald-05': 'var(--color-chart-inverse-emerald-05)',\n 'color-chart-inverse-emerald-06': 'var(--color-chart-inverse-emerald-06)',\n 'color-chart-inverse-emerald-07': 'var(--color-chart-inverse-emerald-07)',\n 'color-chart-inverse-emerald-08': 'var(--color-chart-inverse-emerald-08)',\n 'color-chart-inverse-emerald-09': 'var(--color-chart-inverse-emerald-09)',\n 'color-chart-inverse-green-10': 'var(--color-chart-inverse-green-10)',\n 'color-chart-inverse-green-11': 'var(--color-chart-inverse-green-11)',\n 'color-chart-inverse-green-01': 'var(--color-chart-inverse-green-01)',\n 'color-chart-inverse-green-02': 'var(--color-chart-inverse-green-02)',\n 'color-chart-inverse-green-03': 'var(--color-chart-inverse-green-03)',\n 'color-chart-inverse-green-04': 'var(--color-chart-inverse-green-04)',\n 'color-chart-inverse-green-05': 'var(--color-chart-inverse-green-05)',\n 'color-chart-inverse-green-06': 'var(--color-chart-inverse-green-06)',\n 'color-chart-inverse-green-07': 'var(--color-chart-inverse-green-07)',\n 'color-chart-inverse-green-08': 'var(--color-chart-inverse-green-08)',\n 'color-chart-inverse-green-09': 'var(--color-chart-inverse-green-09)',\n 'color-chart-inverse-lime-10': 'var(--color-chart-inverse-lime-10)',\n 'color-chart-inverse-lime-11': 'var(--color-chart-inverse-lime-11)',\n 'color-chart-inverse-lime-01': 'var(--color-chart-inverse-lime-01)',\n 'color-chart-inverse-lime-02': 'var(--color-chart-inverse-lime-02)',\n 'color-chart-inverse-lime-03': 'var(--color-chart-inverse-lime-03)',\n 'color-chart-inverse-lime-04': 'var(--color-chart-inverse-lime-04)',\n 'color-chart-inverse-lime-05': 'var(--color-chart-inverse-lime-05)',\n 'color-chart-inverse-lime-06': 'var(--color-chart-inverse-lime-06)',\n 'color-chart-inverse-lime-07': 'var(--color-chart-inverse-lime-07)',\n 'color-chart-inverse-lime-08': 'var(--color-chart-inverse-lime-08)',\n 'color-chart-inverse-lime-09': 'var(--color-chart-inverse-lime-09)',\n 'color-chart-inverse-violet-10': 'var(--color-chart-inverse-violet-10)',\n 'color-chart-inverse-violet-11': 'var(--color-chart-inverse-violet-11)',\n 'color-chart-inverse-violet-01': 'var(--color-chart-inverse-violet-01)',\n 'color-chart-inverse-violet-02': 'var(--color-chart-inverse-violet-02)',\n 'color-chart-inverse-violet-03': 'var(--color-chart-inverse-violet-03)',\n 'color-chart-inverse-violet-04': 'var(--color-chart-inverse-violet-04)',\n 'color-chart-inverse-violet-05': 'var(--color-chart-inverse-violet-05)',\n 'color-chart-inverse-violet-06': 'var(--color-chart-inverse-violet-06)',\n 'color-chart-inverse-violet-07': 'var(--color-chart-inverse-violet-07)',\n 'color-chart-inverse-violet-08': 'var(--color-chart-inverse-violet-08)',\n 'color-chart-inverse-violet-09': 'var(--color-chart-inverse-violet-09)',\n 'color-chart-inverse-purple-10': 'var(--color-chart-inverse-purple-10)',\n 'color-chart-inverse-purple-11': 'var(--color-chart-inverse-purple-11)',\n 'color-chart-inverse-purple-01': 'var(--color-chart-inverse-purple-01)',\n 'color-chart-inverse-purple-02': 'var(--color-chart-inverse-purple-02)',\n 'color-chart-inverse-purple-03': 'var(--color-chart-inverse-purple-03)',\n 'color-chart-inverse-purple-04': 'var(--color-chart-inverse-purple-04)',\n 'color-chart-inverse-purple-05': 'var(--color-chart-inverse-purple-05)',\n 'color-chart-inverse-purple-06': 'var(--color-chart-inverse-purple-06)',\n 'color-chart-inverse-purple-07': 'var(--color-chart-inverse-purple-07)',\n 'color-chart-inverse-purple-08': 'var(--color-chart-inverse-purple-08)',\n 'color-chart-inverse-purple-09': 'var(--color-chart-inverse-purple-09)',\n 'color-chart-inverse-fuchsia-10': 'var(--color-chart-inverse-fuchsia-10)',\n 'color-chart-inverse-fuchsia-11': 'var(--color-chart-inverse-fuchsia-11)',\n 'color-chart-inverse-fuchsia-01': 'var(--color-chart-inverse-fuchsia-01)',\n 'color-chart-inverse-fuchsia-02': 'var(--color-chart-inverse-fuchsia-02)',\n 'color-chart-inverse-fuchsia-03': 'var(--color-chart-inverse-fuchsia-03)',\n 'color-chart-inverse-fuchsia-04': 'var(--color-chart-inverse-fuchsia-04)',\n 'color-chart-inverse-fuchsia-05': 'var(--color-chart-inverse-fuchsia-05)',\n 'color-chart-inverse-fuchsia-06': 'var(--color-chart-inverse-fuchsia-06)',\n 'color-chart-inverse-fuchsia-07': 'var(--color-chart-inverse-fuchsia-07)',\n 'color-chart-inverse-fuchsia-08': 'var(--color-chart-inverse-fuchsia-08)',\n 'color-chart-inverse-fuchsia-09': 'var(--color-chart-inverse-fuchsia-09)',\n 'color-chart-inverse-pink-10': 'var(--color-chart-inverse-pink-10)',\n 'color-chart-inverse-pink-11': 'var(--color-chart-inverse-pink-11)',\n 'color-chart-inverse-pink-01': 'var(--color-chart-inverse-pink-01)',\n 'color-chart-inverse-pink-02': 'var(--color-chart-inverse-pink-02)',\n 'color-chart-inverse-pink-03': 'var(--color-chart-inverse-pink-03)',\n 'color-chart-inverse-pink-04': 'var(--color-chart-inverse-pink-04)',\n 'color-chart-inverse-pink-05': 'var(--color-chart-inverse-pink-05)',\n 'color-chart-inverse-pink-06': 'var(--color-chart-inverse-pink-06)',\n 'color-chart-inverse-pink-07': 'var(--color-chart-inverse-pink-07)',\n 'color-chart-inverse-pink-08': 'var(--color-chart-inverse-pink-08)',\n 'color-chart-inverse-pink-09': 'var(--color-chart-inverse-pink-09)',\n 'color-chart-inverse-rose-10': 'var(--color-chart-inverse-rose-10)',\n 'color-chart-inverse-rose-11': 'var(--color-chart-inverse-rose-11)',\n 'color-chart-inverse-rose-01': 'var(--color-chart-inverse-rose-01)',\n 'color-chart-inverse-rose-02': 'var(--color-chart-inverse-rose-02)',\n 'color-chart-inverse-rose-03': 'var(--color-chart-inverse-rose-03)',\n 'color-chart-inverse-rose-04': 'var(--color-chart-inverse-rose-04)',\n 'color-chart-inverse-rose-05': 'var(--color-chart-inverse-rose-05)',\n 'color-chart-inverse-rose-06': 'var(--color-chart-inverse-rose-06)',\n 'color-chart-inverse-rose-07': 'var(--color-chart-inverse-rose-07)',\n 'color-chart-inverse-rose-08': 'var(--color-chart-inverse-rose-08)',\n 'color-chart-inverse-rose-09': 'var(--color-chart-inverse-rose-09)',\n 'color-opacity-inverse-10': 'var(--color-opacity-inverse-10)',\n 'color-opacity-inverse-01': 'var(--color-opacity-inverse-01)',\n 'color-opacity-inverse-02': 'var(--color-opacity-inverse-02)',\n 'color-opacity-inverse-03': 'var(--color-opacity-inverse-03)',\n 'color-opacity-inverse-04': 'var(--color-opacity-inverse-04)',\n 'color-opacity-inverse-05': 'var(--color-opacity-inverse-05)',\n 'color-opacity-inverse-06': 'var(--color-opacity-inverse-06)',\n 'color-opacity-inverse-07': 'var(--color-opacity-inverse-07)',\n 'color-opacity-inverse-08': 'var(--color-opacity-inverse-08)',\n 'color-opacity-inverse-09': 'var(--color-opacity-inverse-09)',\n 'color-opacity-inverse-00': 'var(--color-opacity-inverse-00)',\n 'color-opacity-static-10': 'var(--color-opacity-static-10)',\n 'color-opacity-static-01': 'var(--color-opacity-static-01)',\n 'color-opacity-static-02': 'var(--color-opacity-static-02)',\n 'color-opacity-static-03': 'var(--color-opacity-static-03)',\n 'color-opacity-static-04': 'var(--color-opacity-static-04)',\n 'color-opacity-static-05': 'var(--color-opacity-static-05)',\n 'color-opacity-static-06': 'var(--color-opacity-static-06)',\n 'color-opacity-static-07': 'var(--color-opacity-static-07)',\n 'color-opacity-static-08': 'var(--color-opacity-static-08)',\n 'color-opacity-static-09': 'var(--color-opacity-static-09)',\n 'color-opacity-static-00': 'var(--color-opacity-static-00)',\n 'text-caption': 'var(--text-caption)',\n 'text-body-sm': 'var(--text-body-sm)',\n 'text-body-lg': 'var(--text-body-lg)',\n 'text-title-sm': 'var(--text-title-sm)',\n 'text-title-lg': 'var(--text-title-lg)',\n 'text-h6': 'var(--text-h6)',\n 'text-h5': 'var(--text-h5)',\n 'text-h4': 'var(--text-h4)',\n 'text-h3': 'var(--text-h3)',\n 'text-h2': 'var(--text-h2)',\n 'text-h1': 'var(--text-h1)',\n 'text-bullet-point': 'var(--text-bullet-point)',\n 'leading-caption': 'var(--leading-caption)',\n 'leading-body-sm': 'var(--leading-body-sm)',\n 'leading-body-lg': 'var(--leading-body-lg)',\n 'leading-title-sm': 'var(--leading-title-sm)',\n 'leading-title-lg': 'var(--leading-title-lg)',\n 'leading-h6': 'var(--leading-h6)',\n 'leading-h5': 'var(--leading-h5)',\n 'leading-h4': 'var(--leading-h4)',\n 'leading-h3': 'var(--leading-h3)',\n 'leading-h2': 'var(--leading-h2)',\n 'leading-h1': 'var(--leading-h1)',\n 'leading-bullet-point': 'var(--leading-bullet-point)',\n 'font-weight-medium': 'var(--font-weight-medium)',\n 'font-weight-semibold': 'var(--font-weight-semibold)',\n 'font-weight-bold': 'var(--font-weight-bold)',\n 'typography-letter-spacing': 'var(--typography-letter-spacing)',\n} as const;\n\n// Helper function to get CSS variable value\nexport function getTokenValue(tokenName: keyof DesignTokens): string {\n return designTokens[tokenName];\n}\n\n// Helper function to get CSS variable with fallback\nexport function getTokenValueWithFallback(tokenName: keyof DesignTokens, fallback: string): string {\n return `var(--${tokenName}, ${fallback})`;\n}\n"],"mappings":"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AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,6BAA6B;AAC/B;AAGO,SAAS,cAAc,WAAuC;AACnE,SAAO,aAAa,SAAS;AAC/B;AAGO,SAAS,0BAA0B,WAA+B,UAA0B;AACjG,SAAO,SAAS,SAAS,KAAK,QAAQ;AACxC;","names":["Label","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_react","import_jsx_runtime","Lottie","import_jsx_runtime","import_lucide_react","import_lucide_react","import_jsx_runtime","import_react_slot","import_react","import_jsx_runtime","React","import_react_slot","import_class_variance_authority","import_lucide_react","React","import_jsx_runtime","import_react_slot","import_class_variance_authority","import_lucide_react","import_jsx_runtime","import_react_slot","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","className","props","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","useEmblaCarousel","api","import_lucide_react","import_jsx_runtime","Label","import_jsx_runtime","Label","import_class_variance_authority","import_lucide_react","import_jsx_runtime","import_lucide_react","React","import_react","import_jsx_runtime","import_jsx_runtime","CommandPrimitive","import_lucide_react","import_jsx_runtime","import_lucide_react","import_magick_icons","import_jsx_runtime","import_lucide_react","React","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_lucide_react","import_magick_icons","import_react","import_jsx_runtime","React","existingFiles","updatedFiles","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_lucide_react","React","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","error","React","import_jsx_runtime","BaseOTPInput","BaseOTPInputContext","React","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","Label","import_lucide_react","import_react","import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","Sonner","import_jsx_runtime","Label","import_lucide_react","import_class_variance_authority","import_lucide_react","import_magick_icons","React","import_react","import_jsx_runtime","Spinner","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","React","import_jsx_runtime","import_lucide_react","import_react","import_jsx_runtime","value","Label","import_react_slot","React","import_jsx_runtime","Title","import_class_variance_authority","import_jsx_runtime","import_react","import_class_variance_authority","React","import_jsx_runtime","import_class_variance_authority","React","import_jsx_runtime","import_react","import_jsx_runtime","import_lucide_react","import_react","import_jsx_runtime","import_jsx_runtime","import_react_slot","React","import_jsx_runtime","Label","React","import_jsx_runtime","import_react","import_react_hook_form","import_jsx_runtime"]}