### Start Development Servers Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/4.contribution.md Commands to start development servers for the documentation, Nuxt components, or Vue components. ```bash pnpm run docs ``` ```bash pnpm run dev ``` ```bash pnpm run dev:vue ``` -------------------------------- ### Example Script Execution Source: https://github.com/bitrix24/b24ui/blob/main/scripts/b24-self-task/README.md An example of activating the virtual environment and running the script with a specific task ID. ```bash source venv/bin/activate python scripts/b24-self-task/make.py 2026 ``` -------------------------------- ### ChatPrompt as a starting point for a chat interface Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/chat-prompt.md This example shows how to use the ChatPrompt component as the input mechanism for a full chat interface, integrating with a chat service and navigation. ```APIDOC ## ChatPrompt as a starting point ### Description This example demonstrates using the `B24ChatPrompt` component to build a chat interface. It includes setting up a chat service, handling user input, and navigating to a chat page upon the first message. ### Code Example ```vue [pages/index.vue] {2,4,8-15,23,25} ``` ``` -------------------------------- ### Clone Nuxt Starter Template Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/2.installation/1.nuxt.md Clone the minimal starter template to quickly get started with Nuxt UI and Bitrix24 UI. ```bash git clone https://github.com/bitrix24/starter-b24ui.git cd pnpm install pnpm run dev ``` -------------------------------- ### Stepper Example - With Controls Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/stepper.md An example demonstrating how to integrate additional controls (like buttons) with the Stepper. ```APIDOC ## Examples ### With controls You can add additional controls for the stepper using buttons. :component-example{name="stepper-with-controls-example"} ``` -------------------------------- ### Using the Steps Component Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/4.typography/steps.md Wrap headings with the `Steps` component and specify the `level` prop to define the heading level that starts the steps. This example shows how to integrate the Bitrix24 UI module, import Tailwind CSS, and start the development server. ```vue ::steps{level="4"} #### Add the Bitrix24 UI module in your `nuxt.config.ts` ```ts [nuxt.config.ts] export default defineNuxtConfig({ modules: ['@bitrix24/b24ui-nuxt'] }) ``` #### Import Tailwind CSS in your CSS ```css [app/assets/css/main.css] @import "tailwindcss"; ``` #### Start your development server ```bash npm run dev ``` :: ``` ```mdc ::steps{level="4"} #### Add the Bitrix24 UI module in your `nuxt.config.ts` ```ts [nuxt.config.ts] export default defineNuxtConfig({ modules: ['@bitrix24/b24ui-nuxt'] }) ``` #### Import Tailwind CSS in your CSS ```css [app/assets/css/main.css] @import "tailwindcss"; ``` #### Start your development server ```bash npm run dev ``` :: ``` -------------------------------- ### Install b24pysdk Source: https://github.com/bitrix24/b24ui/blob/main/scripts/b24-self-task/README.md Installs the Bitrix24 Python SDK if it's not already installed. This is a troubleshooting step. ```bash pip install b24pysdk ``` -------------------------------- ### Demo Playground Source: https://github.com/bitrix24/b24ui/blob/main/AGENTS.md Starts the demo playground environment. ```bash pnpm run demo:dev ``` -------------------------------- ### Install Dependencies Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/4.contribution.md Install project dependencies using pnpm, the recommended package manager. ```bash pnpm install ``` -------------------------------- ### Install Bitrix24 UI Skill Globally Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/7.ai/3.skills.md Install the Bitrix24 UI skill globally using the skills CLI so it is available across all your projects. ```bash npx skills add bitrix24/b24ui --global ``` -------------------------------- ### Install Dependencies for BxAssistant Source: https://github.com/bitrix24/b24ui/blob/main/docs/modules/bx-assistant/README.md Install the necessary dependencies for the BxAssistant module using pnpm. ```bash pnpm add @ai-sdk/mcp @ai-sdk/vue @ai-sdk/deepseek ai motion-v shiki shiki-stream @shikijs/core @shikijs/engine-javascript @shikijs/langs @shikijs/themes ``` -------------------------------- ### ChatPrompt as a Starting Point for Chat Interface Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/chat-prompt.md This example shows how to integrate the ChatPrompt component into a Vue application to serve as the entry point for a chat interface. It includes logic for sending the initial message and navigating to the chat page. ```vue ``` -------------------------------- ### Usage Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/app.md Demonstrates how to use the B24App component at the root of your application. ```APIDOC ## Usage This component implements Reka UI [ConfigProvider](https://reka-ui.com/docs/utilities/config-provider) to provide global configuration to all components: - Enables all primitives to inherit global reading direction. - Enables changing the behavior of scroll body when setting body lock. - Much more controls to prevent layout shifts. It's also using [ToastProvider](https://reka-ui.com/docs/components/toast#provider) and [TooltipProvider](https://reka-ui.com/docs/components/tooltip#provider) to provide global toasts and tooltips. Use it as at the root of your app: ```vue [app.vue] ``` ::framework-only #nuxt :::tip{to="/docs/getting-started/integrations/i18n/nuxt/#locale"} Learn how to use the `locale` prop to change the locale of your app. This also controls the date/time format in components like Calendar, InputDate, and InputTime. ::: #vue :::tip{to="/docs/getting-started/integrations/i18n/vue/#locale"} Learn how to use the `locale` prop to change the locale of your app. This also controls the date/time format in components like Calendar, InputDate, and InputTime. ::: :: ## API ### Props :component-props ### Slots :component-slots ``` -------------------------------- ### Tooltip with Help Icon Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/tooltip.md Example demonstrating the use of the Icon component with the Tooltip. ```APIDOC ### Help Icon You can use the [Icon](https://bitrix24.github.io/b24icons/icons/) and the Tooltip. ::component-example --- name: 'tooltip-help-icon-example' --- :: ``` -------------------------------- ### Install b24ui-nuxt with Different Package Managers Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/4.typography/code-group.md Demonstrates how to install the b24ui-nuxt package using pnpm, yarn, npm, and bun. This is useful for users who prefer different package managers. ```bash pnpm add @bitrix24/b24ui-nuxt ``` ```bash yarn add @bitrix24/b24ui-nuxt ``` ```bash npm install @bitrix24/b24ui-nuxt ``` ```bash bun add @bitrix24/b24ui-nuxt ``` -------------------------------- ### Install MCP Package Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/chat.md Install the MCP package using npm, pnpm, or yarn. ```bash npm install @ai-sdk/mcp ``` ```bash pnpm add @ai-sdk/mcp ``` ```bash yarn add @ai-sdk/mcp ``` -------------------------------- ### Responsive Drawer Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/drawer.md Render a Modal on desktop and a Drawer on mobile by utilizing responsive design principles. ```vue ::component-example --- prettier: true name: 'drawer-responsive-example' --- :: ``` -------------------------------- ### Install Bitrix24 UI Skill in Cursor Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/7.ai/3.skills.md Install the Bitrix24 UI skill directly in Cursor by clicking the provided button, which uses a custom URL scheme. ```html Install Skill ``` -------------------------------- ### Basic Theme Setup with Tailwind CSS Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/5.theme/1.design-system.md Import Tailwind CSS and the Bitrix24 UI theme, then define custom design tokens within the `@theme` directive. This is the starting point for customizing your application's theme. ```css @import "tailwindcss"; @import "@bitrix24/b24ui-nuxt"; @theme { /* Your custom design tokens go here */ } ``` -------------------------------- ### Vue Playground Source: https://github.com/bitrix24/b24ui/blob/main/AGENTS.md Starts the Vue development server for the playground environment. ```bash pnpm run dev:vue ``` -------------------------------- ### Nuxt Playground Source: https://github.com/bitrix24/b24ui/blob/main/AGENTS.md Starts the Nuxt development server for the playground environment. ```bash pnpm run dev ``` -------------------------------- ### Link CLI Source: https://github.com/bitrix24/b24ui/blob/main/AGENTS.md Links the local CLI for scaffolding new components. This is a one-time setup step. ```bash npm link ``` -------------------------------- ### Install DeepSeek Provider Dependencies Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/chat.md Install the necessary dependencies for the DeepSeek provider using pnpm, yarn, npm, or bun. ```bash pnpm add ai @ai-sdk/deepseek @ai-sdk/vue ``` ```bash yarn add ai @ai-sdk/deepseek @ai-sdk/vue ``` ```bash npm install ai @ai-sdk/deepseek @ai-sdk/vue ``` ```bash bun add ai @ai-sdk/deepseek @ai-sdk/vue ``` -------------------------------- ### Stepper Example - With Content Slot Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/stepper.md Demonstrates using the `#content` slot to provide custom content for each step in the Stepper. ```APIDOC ### With content slot Use the `#content` slot to customize the content of each item. :component-example{name="stepper-content-slot-example"} ``` -------------------------------- ### Entity Info Popover Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/popover.md This example demonstrates how to build a compact entity-info popover using various B24 UI components. It's designed to sit on top of an entity name in running text, providing a summary of the underlying record. ```html ``` -------------------------------- ### Install @nuxt/content with bun Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/6.integrations/5.content.md Use this command to add the @nuxt/content module to your project using bun. ```bash bun add @nuxt/content ``` -------------------------------- ### Drag Handle with Suggestion Menu Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/editor-drag-handle.md This example shows how to integrate a `Button` with the `EditorDragHandle` to open an `EditorSuggestionMenu`. It utilizes the `onClick` slot function to get the current node position and insert new blocks using `handlers.suggestion?.execute(editor, { pos: node?.pos }).run()`. ```APIDOC ## With suggestion menu Use the default slot to add a [Button](/docs/components/button/) next to the drag handle to open the [EditorSuggestionMenu](/docs/components/editor-suggestion-menu/). Call the `onClick` slot function to get the current node position, then use `handlers.suggestion?.execute(editor, { pos: node?.pos }).run()`{lang="ts-type"} to insert new blocks at that position. ::component-example --- elevated: true collapse: true name: 'editor-drag-handle-suggestion-menu-example' class: '!p-0' --- :: ``` -------------------------------- ### Install Bitrix24 UI Packages Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/2.installation/1.nuxt.md Install the necessary Bitrix24 UI packages and Tailwind CSS for your Nuxt project using your preferred package manager. ```bash pnpm add @bitrix24/b24ui-nuxt @bitrix24/b24icons-vue tailwindcss ``` ```bash yarn add @bitrix24/b24ui-nuxt @bitrix24/b24icons-vue tailwindcss ``` ```bash npm install @bitrix24/b24ui-nuxt @bitrix24/b24icons-vue tailwindcss ``` ```bash bun add @bitrix24/b24ui-nuxt @bitrix24/b24icons-vue tailwindcss ``` -------------------------------- ### PageHeader within a Page Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/page-header.md An example demonstrating how to integrate the PageHeader component into a page, dynamically populating its props from page data. ```APIDOC ## Examples ::note While these examples use [Nuxt Content](https://content.nuxt.com), the components can be integrated with any content management system. :: ### Within a page Use the PageHeader component in a page to display the header of the page: ```vue ``` ``` -------------------------------- ### Sales Dynamics Widget Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/card.md A real-world example demonstrating a CRM dashboard widget using the `Card` component with the `filled-copilot` variant. It includes buttons, tooltips, and CSS grid for metrics. ```vue ``` -------------------------------- ### Install Nuxt I18n Package Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/6.integrations/4.i18n/1.nuxt.md Install the `@nuxtjs/i18n` package using your preferred package manager to enable dynamic language switching. ```bash pnpm add @nuxtjs/i18n ``` ```bash yarn add @nuxtjs/i18n ``` ```bash npm install @nuxtjs/i18n ``` ```bash bun add @nuxtjs/i18n ``` -------------------------------- ### Color Picker Chooser Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/color-picker.md An example demonstrating how to integrate the ColorPicker with Button and Popover components to create a custom color chooser UI. ```vue ``` -------------------------------- ### Install Vue I18n Package Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/6.integrations/4.i18n/2.vue.md Install the `vue-i18n` package to enable dynamic language switching. This is a prerequisite for using the Vue I18n plugin. ```bash pnpm add vue-i18n@11 ``` ```bash yarn add vue-i18n@11 ``` ```bash npm install vue-i18n@11 ``` ```bash bun add vue-i18n@11 ``` -------------------------------- ### Stepper with Controls Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/stepper.md Demonstrates adding additional controls for the stepper using buttons. ```vue ``` -------------------------------- ### Install Chat Dependencies Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/chat.md Install the necessary packages for using the Chat components with the Vercel AI SDK. This includes the core AI SDK, gateway, and Vue integration. ```bash pnpm add ai @ai-sdk/gateway @ai-sdk/vue ``` ```bash yarn add ai @ai-sdk/gateway @ai-sdk/vue ``` ```bash npm install ai @ai-sdk/gateway @ai-sdk/vue ``` ```bash bun add ai @ai-sdk/gateway @ai-sdk/vue ``` -------------------------------- ### Usage Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/3.composables/define-locale.md Demonstrates how to use the defineLocale composable to set up a custom locale, including translation messages. ```APIDOC ## Example Usage ```vue ``` ``` -------------------------------- ### Custom Editor Handlers Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/editor.md Demonstrates how to create and use custom handlers for the B24Editor. This example adds a 'highlight' handler and includes it in the toolbar items. ```vue ``` -------------------------------- ### Resizable Panel Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/dashboard-panel.md Demonstrates how to make a DashboardPanel resizable using the `resizable` prop. ```APIDOC ### Resizable Use the `resizable` prop to make the panel resizable. ::component-code --- prettier: true hide: - class props: resizable: true minSize: 200 defaultSize: 240 maxSize: 250 class: '!min-h-96' slots: body: | class: '!p-0 !justify-start' --- #body :placeholder{class="ms-2 mt-4 h-96"} :: ``` -------------------------------- ### Basic Image Usage Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/4.typography/4.images-and-embeds.md Use markdown syntax for images. If `@nuxt/image` is installed, `` will be used for optimization. ```markdown ![Image](/b24ui/assets/demo/b24rich_new.png) ``` -------------------------------- ### Install @nuxt/content with npm Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/6.integrations/5.content.md Use this command to add the @nuxt/content module to your project using npm. ```bash npm install @nuxt/content ``` -------------------------------- ### Nested Modals Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/modal.md Demonstrates how to nest Modal components within each other. ```vue ``` -------------------------------- ### Install @nuxt/content with yarn Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/6.integrations/5.content.md Use this command to add the @nuxt/content module to your project using yarn. ```bash yarn add @nuxt/content ``` -------------------------------- ### Install @nuxt/content with pnpm Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/6.integrations/5.content.md Use this command to add the @nuxt/content module to your project using pnpm. ```bash pnpm add @nuxt/content ``` -------------------------------- ### Callout as a Link Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/4.typography/callout.md Make the callout a link by passing properties from the `` component, such as `to` and `target`. The example links to the installation guide. ```APIDOC ### Link You can pass any property from the [``](https://nuxt.com/docs/api/components/nuxt-link) component such as `to` and `target` to make the callout a link. ::component-code{slug="callout" prose} --- hide: - class ignore: - icon - color - target cast: icon: 'RocketIcon' props: icon: 'RocketIcon' to: '/docs/getting-started/installation/nuxt/' color: air-primary class: 'w-full my-0' slots: default: Learn how to install `@bitrix24/b24ui-nux` in your project. --- :: ``` -------------------------------- ### Stepper Example - Control Active Item Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/stepper.md Shows how to manage the active step in the Stepper using `default-value` or `v-model`. ```APIDOC ### Control active item You can control the active item by using the `default-value` prop or the `v-model` directive with the `value` of the item. If no `value` is provided, it defaults to the index. :component-example{name="stepper-model-value-example"} ::tip Use the `value-key` prop to change the key used to match items when a `v-model` or `default-value` is provided. :: ``` -------------------------------- ### Simple List of Elements Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/slideover.md Example showcasing a slideover containing a simple list of elements. ```APIDOC ## Simple List of Elements ### Description Demonstrates a basic slideover implementation displaying a list. ### Example ```html ``` ``` -------------------------------- ### Editor Suggestion Menu Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/editor.md Shows how to integrate the EditorSuggestionMenu for slash commands, enabling quick formatting and insertions. ```vue ``` -------------------------------- ### Form with Regle Schema Validation Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/form.md This example demonstrates using the Form component with Regle for schema validation. Ensure Regle is installed. ```vue ``` -------------------------------- ### Responsive drawer Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/drawer.md You can render a [Modal](/docs/components/modal/) component on desktop and a Drawer on mobile for example. ```APIDOC ## Responsive drawer You can render a [Modal](/docs/components/modal/) component on desktop and a Drawer on mobile for example. ::component-example --- prettier: true name: 'drawer-responsive-example' --- :: ``` -------------------------------- ### Basic usage example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/3.composables/define-shortcuts.md Demonstrates how to define simple keyboard shortcuts for common actions like opening a help modal, a command palette, or navigating to a dashboard. ```APIDOC ## Basic usage ```vue ``` ``` -------------------------------- ### Form with Joi Schema Validation Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/form.md This example shows how to use Joi for schema validation within the Form component. Joi must be installed. ```vue ``` -------------------------------- ### Documentation Site Source: https://github.com/bitrix24/b24ui/blob/main/AGENTS.md Builds and serves the documentation website. ```bash pnpm run docs ``` -------------------------------- ### Dropdown Menu with Arrow Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/dropdown-menu.md Use the `arrow` prop to display an arrow on the DropdownMenu. This example shows a basic setup with items and a button to open the menu. ```vue ``` -------------------------------- ### Select Menu with Virtualization Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/select-menu.md Enable virtualization for large lists by setting the `virtualize` prop to `true` or an options object. Note that virtualization flattens all groups into a single list. ```html ``` -------------------------------- ### Configure Starter Kit for Editor Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/editor.md Configure the built-in TipTap StarterKit extension to enable common editor features. This example disables blockquotes and customizes heading levels, dropcursor, and link behavior. ```vue ``` -------------------------------- ### Define a Custom Locale Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/3.composables/define-locale.md Use defineLocale to create a custom locale configuration. This example shows basic setup with a name, code, locale, and an empty messages object. ```vue ``` -------------------------------- ### Using B24Error in error.vue Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/error.md Integrate the B24Error component into your `error.vue` file to display Nuxt errors. This example shows the basic setup within a Nuxt application layout. ```vue ``` -------------------------------- ### Install Bitrix24 UI Vue Plugin (AdonisJS Inertia) Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/2.installation/2.vue.md Configure the Bitrix24 UI Vue plugin for an AdonisJS Inertia project. This example is for Vue 3 and Inertia.js integration. ```typescript import type { DefineComponent } from 'vue' import { createInertiaApp } from '@inertiajs/vue3' import b24UiPlugin from '@bitrix24/b24ui-nuxt/vue-plugin' import { resolvePageComponent } from '@adonisjs/inertia/helpers' import { createApp, h } from 'vue' const appName = import.meta.env.VITE_APP_NAME || 'AdonisJS x Bitrix24 UI' createInertiaApp({ title: title => (title ? `${title} - ${appName}` : appName), resolve: name => resolvePageComponent( `../pages/${name}.vue`, import.meta.glob('../pages/**/*.vue') ), setup({ el, App, props, plugin }) { createApp({ render: () => h(App, props) }) .use(plugin) .use(b24UiPlugin) .mount(el) } }) ``` -------------------------------- ### InputDate with Custom Separator Icon for Range Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/input-date.md Customize the icon used between the start and end dates in a range selection by using the `separator-icon` prop. This example uses 'RocketIcon' as the separator. ```vue ``` -------------------------------- ### Set Radio Group Indicator Position Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/radio-group.md Use the `indicator` prop to change the position or hide the indicator. Defaults to `start`. This example sets the indicator to `end` and uses the `card` variant. ```javascript { indicator: 'end', variant: 'card', defaultValue: 'System', items: - 'System' - 'Light' - 'Dark' } ``` -------------------------------- ### Clone Project Templates Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/2.installation/2.vue.md Clone either the Dashboard or Starter template to begin your project. Remember to replace `` with your desired directory name. ```bash git clone https://github.com/bitrix24/templates-dashboard-vue.git cd pnpm install pnpm run dev ``` ```bash git clone https://github.com/bitrix24/starter-b24ui-vue.git cd pnpm install pnpm run dev ``` -------------------------------- ### Install Bitrix24 UI Vue Plugin (Laravel Inertia) Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/1.getting-started/2.installation/2.vue.md Integrate the Bitrix24 UI Vue plugin into a Laravel Inertia project. This setup assumes you are using Vue 3 and Inertia.js. ```typescript import type { DefineComponent } from 'vue' import { createInertiaApp } from '@inertiajs/vue3' import b24UiPlugin from '@bitrix24/b24ui-nuxt/vue-plugin' import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers' import { createApp, h } from 'vue' const appName = import.meta.env.VITE_APP_NAME || 'Laravel x Bitrix24 UI' createInertiaApp({ title: title => (title ? `${title} - ${appName}` : appName), resolve: name => resolvePageComponent( `./pages/${name}.vue`, import.meta.glob('./pages/**/*.vue') ), setup({ el, App, props, plugin }) { createApp({ render: () => h(App, props) }) .use(plugin) .use(b24UiPlugin) .mount(el) } }) ``` -------------------------------- ### Basic Slideover Usage Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/slideover.md Use the default slot for trigger elements like buttons and the #content slot for the slideover's main content. This example shows a basic setup with a button to open the slideover and a placeholder for its content. ```vue ``` -------------------------------- ### REPL Playground Source: https://github.com/bitrix24/b24ui/blob/main/AGENTS.md Launches the REPL playground for interactive testing. ```bash pnpm run dev:repl ``` -------------------------------- ### Install Python Dependencies Source: https://github.com/bitrix24/b24ui/blob/main/scripts/b24-self-task/README.md Installs Python dependencies using a virtual environment. Ensure you have Python 3.7+ installed. ```bash python -m venv venv source venv/bin/activate pip install -r scripts/b24-self-task/requirements.txt ``` -------------------------------- ### Code Diff Example Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/4.typography/5.code.md Illustrates how to display code differences using the 'diff' language, showing changes in module imports. ```diff export default defineNuxtConfig({ modules: [ - '@bitrix24/b24ui' + '@bitrix24/b24ui-nuxt' ] }) ``` ```md ```diff [nuxt.config.ts] export default defineNuxtConfig({ modules: [ - '@bitrix24/b24ui' + '@bitrix24/b24ui-nuxt' ] }) ``` ``` -------------------------------- ### Configure Bitrix24 Webhook Source: https://github.com/bitrix24/b24ui/blob/main/scripts/b24-self-task/README.md Sets up the Bitrix24 webhook URL in the .env file. Replace the placeholder with your actual webhook. ```bash B24_WEBHOOK=https://yourdomain.bitrix24.com/rest/1/xxxx/ ``` -------------------------------- ### Component Creation Workflow Checklist Source: https://github.com/bitrix24/b24ui/blob/main/AGENTS.md Use this checklist to track progress when creating a new component. It covers scaffolding, implementation, theming, type export, registration, testing, documentation, and build steps. ```bash Component: [name] Progress: - [ ] 1. Scaffold with CLI: bitrix24-ui make component - [ ] 2. Implement component in src/runtime/components/ - [ ] 3. Create theme in src/theme/ - [ ] 4. Export types from src/runtime/types/index.ts - [ ] 5. Register in ThemeDefaults interface (src/runtime/composables/useComponentProps.ts) - [ ] 6. Write tests in test/components/ - [ ] 7. Create docs in docs/content/docs/2.components/ - [ ] 8. Add playground page - [ ] 9. Run pnpm run lint - [ ] 10. Run pnpm run typecheck - [ ] 11. Run pnpm run test ``` -------------------------------- ### Stepper Example - With Custom Slot Source: https://github.com/bitrix24/b24ui/blob/main/docs/content/docs/2.components/stepper.md Illustrates how to use the `slot` property on an item to apply a custom slot for specific step content. ```APIDOC ### With custom slot Use the `slot` property to customize a specific item. You will have access to the following slots: - `#{{ item.slot }}`{lang="ts-type"} :component-example{name="stepper-custom-slot-example"} ```